10/4 每日一題(找出freq超過n//3的元素)
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]:
times=len(nums)//3
nums_freq=Counter(nums)
res=[]
for ele,freq in nums_freq.items():
if freq > times:
res.append(ele)
return res
----------------------
class Solution:
def majorityElement(self, nums: List[int]) -> List[int]:
n = list(set(nums))
l = len(nums)//3
res = []
for i in n:
if nums.count(i) > l:
res.append(i)
return res標籤: leetcode

0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁