[LeetCode] 747. Largest Number At Least Twice of Others

寵の児 提交于 2020-01-07 04:47:32

这道题思路很简单,就是在一个loop下找最大的和第二大的数值。记住,python最小的数值是-sys.maxsize-1

class Solution:
    def dominantIndex(self, nums: List[int]) -> int:
        if not nums or len(nums) == 1:
            return 0
        
        largest, sec_largest, idx = -sys.maxsize - 1, -sys.maxsize - 1, 0
        
        for i in range(len(nums)):
            if nums[i] >= largest: 
                sec_largest = largest
                largest = nums[i]  
                idx = i
            if nums[i] > sec_largest and nums[i] < largest:
                sec_largest = nums[i]
        
        if largest >= 2 * sec_largest:
            return idx
        return -1
            

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!