对于一个已知数组,求其最大元素的问题。
我们很容易会想到引入一个max变量,之后遍历整个数组,数组的元素与max比较并做更新。其代码如下:
在这种方法之外,其实还可以使用递归的方法。即确定下数组的起始与末尾位置,比较这两个位置元素的大小,如果起始元素大,那么就将末尾位置前移1;反之则将起始位置后移1.代码如下:
最后回看这两种方法,本质都是数组中的每一个元素都与一个相对量进行比较,从而确定下最大值。只是第一种方法中相对量是max,是我们自己初始化为了0,而第二个方法相对量则是比较数组首尾元素取其中较大的。