알고리즘 문제/Leetcode
229. Majority Element II
BEstyle
2023. 4. 4. 20:08
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times.
Example 1:
Input: nums = [3,2,3]
Output: [3]
Example 2:
Input: nums = [1]
Output: [1]
Example 3:
Input: nums = [1,2]
Output: [1,2]
Constraints:
- 1 <= nums.length <= 5 * 104
- -109 <= nums[i] <= 109
Follow up: Could you solve the problem in linear time and in O(1) space?
class Solution:
def majorityElement(self, nums: List[int]) -> List[int]:
ans=[]
times=int(len(nums)/3)
c=Counter(nums)
for k,v in c.items():
if v>times:
ans.append(k)
return ans