如何在java中查找数组中的特定值

如何在java中查找数组中的特定值,java,arrays,Java,Arrays,在许多数组中,我需要长度直到最大值,而不使用排序和 {6,8,2,7,10,3,1} 是否可以返回最大值第一个最小值是该数组(10-2=8)?一个简单的解决方案是函数数组。简而言之,您可以这样做: /*Code not tested*/ Arrays.sort(array); System.out.println(array[0]); //min value System.out.println(array[array.length-1]); //max value 您可以在此处查看有关此功

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

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


是否可以返回最大值第一个最小值是该数组(10-2=8)?

一个简单的解决方案是函数数组。简而言之,您可以这样做:

/*Code not tested*/
Arrays.sort(array);
System.out.println(array[0]); //min value
System.out.println(array[array.length-1]); //max value 
您可以在此处查看有关此功能的更多信息:

编辑

如果你不能排序,你可以在这里使用一个算法一个很好的例子最简单的代码使用:

该方法具有O(n)时间复杂度,优于排序数组的O(n logn)时间复杂度


有更快的O(n)算法只计算最大差异,但这种方法对于大多数目的来说可能已经足够好了。

@Rishi感谢是真的,我正在通过手机,对不起。@DanteFañaBadia没有使用排序,我需要10-2而不是10-1@Digs您可以使用System.out.println(数组[1]),但是代码将是非常具体和无用的,如果你有2个“1”不起作用。@DanteFañaBadia ik,但它应该通过所有测试cases@Digs这里使用排序算法作为例子,不清楚您想要什么。在您的示例中,
(10-2=8)
2从何而来?10是数组的最大值吗?8是来自数组[1]还是完全不同?你需要索引直到最大值(这里应该是5)吗?
IntSummaryStatistics stats = IntStream.of(intArray).summaryStatistics();
int maxDiff = stats.getMax() - stats.getMin();