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

This question is very simple idea is to find the largest and the second largest value in a loop. Remember, the minimum value is -sys.maxsize-1 python

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
            

 

Guess you like

Origin www.cnblogs.com/codingEskimo/p/12154613.html