题目描述:
题解一:
1.用一个dict记录nums数组中每个数字出现的次数。
2.返回dict中出现次数大于数组长度一半的数字。
class Solution: def majorityElement(self, nums: List[int]) -> int: length = len(nums) numsdict = {} for num in nums: if num not in numsdict: numsdict[num]=1 else: numsdict[num]=numsdict[num]+1 for num in numsdict: if numsdict[num]>length/2: return num
题解二:因为寻找的数字出现次数大于数组的一半,因此该数位于排序后数组的中间位置
class Solution: def majorityElement(self, nums: List[int]) -> int: new = sorted(nums) length = len(nums) return new[length//2]