747. 至少是其他数字两倍的最大数 - 力扣(LeetCode)


你可以使用 Python 来解决这个问题,代码如下:
def dominantIndex(nums):
max_num = max(nums)
max_index = nums.index(max_num)
for num in nums:
if num != max_num and max_num < 2 * num:
return -1
return max_index
# 测试
print(dominantIndex([3, 6, 1, 0])) # 输出: 1
print(dominantIndex([1, 2, 3, 4])) # 输出: -1
解释:
-
找出数组中的最大值
max_num及其索引max_index。 -
遍历数组,检查
max_num是否至少是其他数字的两倍。 -
如果
max_num不是所有其他数字的两倍,则返回-1,否则返回max_index。
这个方法的时间复杂度是 O(n),因为它只需遍历数组两次。
650

被折叠的 条评论
为什么被折叠?



