golang实现算法题合集一

1. 找到一个数组中第二大的数

思路: 定义一个最大值和第二大值变量,遍历一次数组。需要注意的是最大值可能有多个。

func getMax(arr []int) int {
	// 初始化
	maxNum := arr[0]
	secondMaxNum := arr[1]
	if maxNum < secondMaxNum {
		maxNum, secondMaxNum = secondMaxNum, maxNum
	}
	for i := 0; i < len(arr); i++ {
		if maxNum < arr[i] {
			secondMaxNum = maxNum
			maxNum = arr[i]
		} else if secondMaxNum < arr[i] && arr[i] != maxNum {
			secondMaxNum = arr[i]
		}
	}
	return secondMaxNum
}

上一篇:刷题-Leetcode-416. 分割等和子集


下一篇:【力扣分模块联系】DFS与BFS