简介
本篇文章将主要介绍获取数组中最大(小)元素的基本方法,以及其在Java中的几种实现方法。
算法
取得数组中最大(小)元素的基本算法一般都类似于如下所示:
SET MAX to array[0]
FOR i = 1 to array.length - 1
IF array[i] > MAX THEN
SET MAX to array[i]
ENDIF
ENDFOR
对于java而言,这一算法逻辑可以有多种不同的实现方式。但无论如何实现,因为在算法中我们需要检查数组中的每一个元素,所以其时间复杂度都是O(n)
,这里n
指的是数组的长度。
迭代(iteration)实现
public int getMaxWithIteration(int[] nums) {
if (nums == null || nums.length == 0) {
throw new IllegalArgumentException("Input array should not be empty!");
}
int max = Integer.MIN_VALUE;
for (int i = 0; i < nums.length; i++