如何在java中的数组中找到特定值的长度

时间:2016-09-27 21:59:57

标签: java arrays

在许多数组中,我需要长度直到最大值而不使用sort和

  

{6,8,2,7,10,3,1}

是否可以返回max-first minimum是该数组(10-2 = 8)?

2 个答案:

答案 0 :(得分:1)

一个简单的解决方案就是函数 Array.short ,你可以这样做:

/*Code not tested*/
Arrays.sort(array);
System.out.println(array[0]); //min value
System.out.println(array[array.length-1]); //max value 

您可以在此处查看有关此功能的更多信息:Java: Sort an array

修改

如果你无法排序,你可以在这里使用算法一个很好的例子http://www.java2novice.com/java-sorting-algorithms/bubble-sort/

答案 1 :(得分:0)

最简单的代码使用IntStream#summaryStatistics()

IntSummaryStatistics stats = IntStream.of(intArray).summaryStatistics();
int maxDiff = stats.getMax() - stats.getMin();

这种方法具有O(n)时间复杂度,优于排序数组的O(n log n)时间复杂度。

有更快的O(n)算法,只是计算最大差异,但这种方法可能足以满足大多数目的。