题目:
给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。
请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。
算法:
方法一:找最大和第二大的元素
func dominantIndex(nums []int) int {
max, secondMax := 0, 0
for i := range nums {
if nums[i] > nums[max] {
secondMax = max
max = i
} else if max == secondMax || nums[i] > nums[secondMax] {
secondMax = i
}
}
// fmt.Println(max, secondMax)
if nums[max] >= 2 * nums[secondMax] {
return max
}
return -1
}