Leetcode 169 Majority Element

Given an array nums of size n, return the majority element.

The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array.

Input: nums = [3,2,3]
Output: 3
Input: nums = [2,2,1,1,1,2,2]
Output: 2
  • Verilen listede,listedeki eleman sayısının yarısından fazla tekrar eden sayıyı bulmamız isteniyor.
  • Bir dict veri yapısı kullanarak problemi çözebiliriz.
  • num_freg dict yapısının içinde sayıları ve liste içinde kaç kere geçtiklerini tutarız.
  • Daha sonrada bu değer listedeki eleman sayısının yarısından fazla ise bu sayıyı döneriz.
dict.get(key, default=None)
Parameters
key − This is the Key to be searched in the dictionary.
default − This is the Value to be returned in case key does not exist.
    def majorityElement(self, nums: List[int]) -> int:
        num_freg = dict()
        for num in nums:
            num_freg[num] = num_freg.get(num,0) + 1
            if num_freg[num] > len(nums)//2:
                return num