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