2013-05-01 50 views
1

在java中,我需要能够通过一个数组并找到最大值。我如何比较数组中的元素来查找最大值?我如何找到数组中的最大值?

+1

你能告诉我们你到目前为止试过的吗? – NilsH 2013-05-01 19:41:40

+1

我们不是来为你做功课的。 – David 2013-05-01 19:41:46

+2

对不起,我想通了,我忘了把我的代码,但现在很好现在 – 2013-05-01 20:05:31

回答

2

迭代阵列。首先将最大值初始化为数组的第一个元素,然后为每个元素优化它,如果考虑中的元素更大。

14

如果你可以改变元素的顺序:

int[] myArray = new int[]{1, 3, 8, 5, 7, }; 
Arrays.sort(myArray); 
int max = myArray[myArray.length - 1]; 

如果你不能改变元素的顺序:

int[] myArray = new int[]{1, 3, 8, 5, 7, }; 
int max = Integer.MIN_VALUE; 
for(int i = 0; i < myArray.length; i++) { 
     if(myArray[i] > max) { 
     max = myArray[i]; 
     } 
} 
+11

排序是一个坏主意,除非性能不担心。排序是O(n log n),而遍历数组只有O(n)。 – devconsole 2016-04-07 09:48:28

17

有一个最大int和将其设置为第一数组中的值。然后在for循环中遍历整个数组,并查看max int是否大于当前索引处的int。

int max = array.get(0); 

for (int i = 1; i < array.length; i++) { 
    if (array.get(i) > max) { 
     max = array.get(i); 
    } 
} 
+0

创建一个最大变量decalre它为零。如果 – 2013-05-01 20:06:37

+0

如果它是一个ArrayList它是'arraylist.get(0)'如果它是一个数组它是'array [0]' – FedericoCapaldo 2016-11-04 04:35:37