获取数组第二大数
程序 = 数据结构 + 算法
工作多年,尤其是常年在业务代码中CURD的程序猿们,几乎用不到算法相关的知识。但是面试过程中算法又是最基本的面试题。尤其是一些大厂,算法就是敲门砖。因此,掌握好算法才能够有基本的面试资格。笔者根据近期一段时间的面试,总结常见的一些基础面试算法题,希望可以帮到有需要的朋友。
问题:写一个函数求数组(乱序)第二大数,不能使用排序算法。
遍历数组,每次遍历先去对比最大值,如果数组中的元素大于最大值,则更新前两大数,继续遍历数组。
如果小于最大值,则与第二大数对比。如果大于第二大数,更新第二大数。
/**
* 获取数组第二大数
*
* @param array 查询的数组
*
* @return 第二大数
*/
public static Integer getSecond(int[] array