草庐IT

java - 将 int 值拆分为单独的数字

我想将我的int值拆分成数字。例如,如果没有。是542,结果应该是5,4,2。我有两个选择。1)将int转换为String&然后使用getCharArray(),我可以有单独的字符&然后我将它们转换回int值。2)将int转换为String,但不将其转换为char数组,迭代它并获取所有数字。有没有其他方法可以解决这个问题。如果不是,哪个选项会很快? 最佳答案 Listdigits(inti){Listdigits=newArrayList();while(i>0){digits.add(i%10);i/=10;}returndigi

java - 整数中的字母。这些是什么?

这是我在Java中使用的一个类的代码摘录(如下)。显然,代码定义了一个名为EPSILON的静态变量,数据类型为double。我不明白的是“1E-14”部分。那是什么数字?什么意思?最终双EPSILON=1E-14; 最佳答案 在您的情况下,这等同于编写:finaldoubleEPSILON=0.00000000000001;除了你不必数零。这叫做scientificnotation并且在编写非常大或非常小的数字时很有帮助。 关于java-整数中的字母。这些是什么?,我们在StackOve

java - 为什么 "int i = (byte) + (char) - (int) + (long) - 1"是 1?

这个问题在这里已经有了答案:Weirdjavabehaviorwithcaststoprimitivetypes(3个答案)关闭8年前。我在网上偶然发现了这段代码publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]args){inti=(byte)+(char)-(int)+(long)-1;System.out.println(i);}}它打印1。我能知道为什么吗?这是来源-->http://www.javacodegeeks.com/2011/10/weird-funny-java.html

java - 如何使用递归创建二进制搜索算法

我一直在利用大学假期通过编码算法练习Java。我编码的算法之一是二进制搜索:publicclassBinarySearch{privatestaticintlist[]={3,6,7,8,9,10};publicstaticvoidmain(String[]args){BinarySearchb=newBinarySearch();b.binarySearch(list);}publicvoidbinarySearch(int[]args){System.out.println("Binarysearch.");intupperBound=args.length;intlowerBou

java - 有没有比线性搜索更快的算法?

我听说没有比线性搜索更快的算法(对于未排序的数组),但是,当我运行这个算法(线性)时:publicstaticvoidsearch(int[]arr,intvalue){for(inti=0;i使用长度为1000000的随机数组,找到一个值的平均时间是75ns,但是使用这个算法:publicstaticvoidskipSearch(int[]arr,intvalue){for(inti=0;i我得到一个更短的平均值,68ns?编辑:很多人说我没有做适当的基准测试,这是侥幸,但我运行了这些函数1000000次并得到了平均值。每次我运行函数1000000次,第一个算法得到75-76ns,第

java - int[] array 和 int array[] 的区别

最近一直在思考两种定义数组的方式的区别:int[]数组int数组[]有区别吗? 最佳答案 它们在语义上是相同的。添加intarray[]语法只是为了帮助C程序员习惯java。int[]array更可取,而且不会造成混淆。 关于java-int[]array和intarray[]的区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3846080/

java - 图片加密,为什么不能解密?

我正在尝试使用ACM和henon加密图像,加密成功,但无法解密。问题是(问题解密是在对像素值进行异或后,无法将其恢复到初始位置)。根据这个加密方案:http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5054653&contentType=Conference+Publications&queryText%3Dimage+encryption+henon加密步骤为:阅读图片像素提取使用ACM打乱像素生成henon伪随机数Roundedhenon伪随机用henon伪随机异或打乱像素值写图片密码图像完成解密步骤为:读

java - 如何遍历所有可能的解决方案路径并选择最佳路径

我不擅长以编程方式实现上面提到的启发式搜索算法/Dijkstra算法/A*搜索算法。然而,在解决我的一篇帖子(Matrixmanipulation:logicnotfetchingcorrectanswerforhigherorderNXNmatrixdata)中提到的问题时,我发现我解决问题的方法存在缺陷。问题陈述如下。问题陈述有一个NxN矩阵,分为N*N个单元格。每个单元格都有一个预定义的值。这将作为输入给出。迭代必须发生K次,这也在测试输入中给出。我们必须确保在每次迭代中选择行/列的最佳/最小值。最终输出为每次迭代结束时保存的最优值的累加和。步骤1.对单个行和列求和,求行和列的最

java - C 性能和编译选项

我有两个类似的实现(java和c++),用于像选择排序这样的普通算法。publicinterfaceSortingAlgorithm{publicvoidsort(int[]a);}publicclassSelectionSortimplementsSortingAlgorithm{@Overridepublicvoidsort(int[]a){for(inti=0;i和c一个:inlinevoidswap(int*a,inti,intj);voids_sort(int*a,intsize){inti;for(i=0;i现在,我尝试在一个大数组(100000个随机整数)上测试它们。起初

java - 将数组划分为 k 个连续的子数组,使得每个子数组的和的按位与最大

给出了一个包含正整数的大小为n(nk个连续的子数组,以使所有子数组总和的按位AND最大化。例如对于array=[30,15,26,16,21]和k=3,考虑所有分区:(30)&(15)&(26+16+21)=14(30)&(15+26)&(16+21)=0(30)&(15+26+16)&(21)=16(30+15)&(26+16)&(21)=0(30+15)&(26)&(16+21)=0(30+15+26)&(16)&(21)=0最大值是16,所以这个数组的答案是16。除了蛮力,我没有别的想法。请帮忙。staticvoidfindMaxAND(int[]arr,intk){if(k>a