Tag: 数组

如何将一组数字分成两组,使其总和的差异最小

如何编写Java程序将一组数字分成两组,使得各个数字之和的差异最小。 例如,我有一个包含整数的数组 – [5,4,8,2]。 我可以把它分成两个arrays – [8,2]和[5,4]。 假设给定的一组数字,可以像上面的例子一样有一个独特的解决方案,如何编写一个Java程序来实现解决方案。 即使我能够找出最小可能差异也没关系。 假设我的方法接收一个数组作为参数。 该方法必须首先将接收的数组分成两个数组,然后添加其中包含的整数。 此后,它必须返回它们之间的差异,使得差异可能最小。 PS-我在这里看了一下,但找不到任何具体的解决方案。 这里似乎给出了最可能的解决方案 – 将一个arrays分成两组,差别很小 。 但我无法从该线程中收集如何编写Java程序以获得问题的明确解决方案。 编辑: 看完@Alexandru Severin的评论后,我尝试了一个java程序。 它适用于一组数字[1,3,5,9],但不适用于另一组[4,3,5,9,11]。 以下是该计划。 请建议更改: – import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class FindMinimumDifference { public static void main(String[] args) { int[] arr= new int[]{4,3,5,9, 11}; FindMinimumDifference obj= new FindMinimumDifference(); obj.returnMinDiff(arr); […]

Arraylist通过java中的tcp?

如何通过Java中的tcp发送arraylist? 我需要发送一个整数的arraylist,从客户端到服务器,反之亦然。 Thanxx

将原始数组转换为Object并返回

我有这个 int [] abc = new int[30]; Object arr = abc; 我如何将arr回int[] ?? 即 int [] foo = (int[])arr 另外,如果arr可以指向int[]或byte[] ,如何区分它们? 我检查了arr.getClass().getName()返回[I和arr.getClass().isPrimitive()为false 。 必须是另一种检测它的方法吗? 谢谢。 PS。 我必须在我的数组中使用原始类型。

计算字符串的频率

我基本上想要搜索字符串的频率。 例如,如果我传入单词“I”,那么下面这句话中的单词的频率:“ 我去了海滩, 我看到三个人”应该是2.我已经构建了这样的方法一个文本(任意长度),由白色空格将其分割成一个数组,并循环遍历数组,搜索每个索引是否与单词匹配。 然后,我递增频率计数器并将数字作为字符串返回。 这是方法: private int freq() { String text = “I went to the beach and I saw three people”; String search = “I”; String[] splitter = text.split(“\\s+”); int counter = 0; for (int i=0; i<splitter.length; i++) { if (splitter[i]==search) { counter++; } else { } } return counter; } } 这不在方法之外: […]

Mastermind游戏算法

我必须为作业制作一个Mastermind游戏。 我被困在我已经接受用户输入的部分,需要将它们与随机数进行比较。 然后我需要将(用户输入)数字放在网格上的正确位置(自下而上)。 此外,我必须显示数字是否: 通过显示4,正确和正确的位置, 通过显示2,正确但错误的位置, 显示0表示错误 此外,我需要继续询问用户输入,直到他们达到10的最大尝试或猜测正确的答案。 这是我的代码 … public static void main(String[] args) { PlayMasterMind.computerNum(); PlayMasterMind.printBoard(); PlayMasterMind.userInput(); PlayMasterMind.compare(); } public void printBoard(){ System.out.println(” _______________________”); System.out.println(“| ” + gotIt + ” | ” + gotIt + ” | ” + gotIt + ” | ” + gotIt + ” | “); System.out.println(” _______________________ ____”); […]

将图像转换为彩色数组

我用Java加载图像并希望转换为RGB数组,这样我就可以读取每个像素的颜色。 我在Google上搜索过,但我只发现了如何将Color-Arrays转换为图像。

可以优化arrays访问吗?

也许我被我的探测器(Netbeans)误导了,但我看到了一些奇怪的行为,希望也许有人可以帮助我理解它。 我正在开发一个应用程序,它大量使用相当大的哈希表(键是long,值是对象)。 内置java哈希表(特别是HashMap)的性能非常差,在尝试了一些替代方案 – Trove,Fastutils,Colt,Carrot之后 – 我开始自己开发。 使用双哈希策略的代码非常基础。 这工作得很好,并且显示了迄今为止我尝试过的所有其他选项的最佳性能。 根据分析器的说法,查找哈希表是整个应用程序中最昂贵的方法 – 尽管事实上其他方法被调用了很多次,和/或做了更多的逻辑。 让我感到困惑的是查找仅由一个类调用; 调用方法执行查找并处理结果。 两者的调用次数几乎相同,调用查找的方法在处理查找结果时有很多逻辑,但速度提高了约100倍。 下面是哈希查找的代码。 它基本上只是对数组的两次访问(根据分析,计算哈希码的函数几乎是免费的)。 我不明白这段代码怎么会这么慢,因为它只是数组访问,我没有看到任何使它更快的方法。 请注意,代码只返回与密钥匹配的存储区,调用方应该处理存储区。 ‘size’是hash.length / 2,hash1在哈希表的前半部分进行查找,hash2在后半部分进行查找。 key_index是传递给构造函数的哈希表上的最终int字段,Entry对象上的values数组是一个通常长度为10或更短的long数组。 人们对此有任何想法都非常感激。 谢谢。 public final Entry get(final long theKey) { Entry aEntry = hash[hash1(theKey, size)]; if (aEntry != null && aEntry.values[key_index] != theKey) { aEntry = hash[hash2(theKey, size)]; if (aEntry != null && […]

如何使用Jersey Rest Webservices和Java解析JSON数组

我从iOS客户端获取Json数组,并希望使用Java和jersey以及Gson解析服务器端的Json。 我从iOS发送POST方法中的JSON数组。 我想使用json,但坚持如何在Java类中保存json数据。 这是我的Json数组的结构 { “friendList”: [ {“id”: 1, “username”: “user1”, “name”:”person1″, “friendUsername”:”fUser1″, “friendName”:”fName1″}, {“id”: 2, “username”: “user2”, “name”:”person2″, “friendUsername”:”fUser2″, “friendName”:”fName2″}, {“id”: 3, “username”: “user3”, “name”:”person3″, “friendUsername”:”fUser3″, “friendName”:”fName3″},… ] } 这是我的Web服务类 @Path(“/FriendsList”) public class RestWebServicesAPI { @POST @Path(“/friends”) @Consumes(MediaType.APPLICATION_JSON) public Friends saveFriedList(Friends friend, @Context HttpServletRequest request) { // Don’t know how to parse json array???? […]

Jackson – 使用loadDataFromNetwork()方法使用Robospice读取JSON数组

我正在尝试读取JSON数组,其格式如下: [{“vehicle_id”:”76″,”color”:”red”},{“vehicle_id”:”7″,”color”:”blue”}]遵循Robospice的入门指南 。 Vehicle.java public class Vehicle { @JsonProperty(“vehicle_id”) private int vehicleID; @JsonProperty(“color”) private String color; } (塞特犬和吸气者跟随) 给出错误的类:VehiclesRequest.class public class VehiclesRequest extends SpringAndroidSpiceRequest { private static final String METHOD = “systemVehicles”; public SystemVehiclesRequest() { super(Vehicle.class); } @Override public Vehicle[] loadDataFromNetwork() throws Exception { return getRestTemplate().getForObject( FULL_URL, Vehicle[].class); } } 如您所见,我重写了loadDataFromNetwork()方法,然后将其传递给我的活动中的spiceManager.execute()方法,并使用自定义侦听器从请求中读取数据。 但是我无法从loadDataFromNetwork()返回数组(我也尝试使用List loadDataFromNetwork() ,这里最好的解决方法是什么? 我知道我可以以不同的方式获取数据,但我仍然希望使用我的监听器并能够以这种方式进行try块。

零长度数组的JVM优化

由于特定类型的所有零长度数组都相同,JVM是否优化了零长度数组的分配,以便为所有此类分配使用一个共享实例?