LeetCode 747. 至少是其他数字两倍的最大数缩略图

给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。

请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。

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

LeetCode 747. 至少是其他数字两倍的最大数插图
OpenCV步步精深-可心科创工作室

思路:

找到最大的是不是第二大的两倍即可。

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
LeetCode 747. 至少是其他数字两倍的最大数插图1
OpenCV步步精深-可心科创工作室

更多干货见 OpenCV步步精深

作者 admin

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注