给你一个整数数组 nums
,其中总是存在 唯一的 一个最大整数 。
请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1
。
747. 至少是其他数字两倍的最大数 – 力扣(Leetcode)

思路:
找到最大的是不是第二大的两倍即可。
python3实现:
class Solution:
def dominantIndex(self, nums: List[int]) -> int:
if len(nums) == 1:
return 0
# 排序,找到最大的是不是第二大的两倍即可
max_num_idx = nums.index(max(nums))
nums.sort(reverse=True)
if nums[0] >= 2 * nums[1]:
return max_num_idx
else:
return -1
