LeetCode 169.多数元素

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。


示例 1:
输入: [3,2,3]
输出: 3
示例 2:
输入: [2,2,1,1,1,2,2]
输出: 2


Python

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        i=0
        most=nums[i]
        times=1
        for i in range(1, len(nums)):
            if nums[i]==most:
                times = times+1
            else:
                times = times-1
                if times==0:
                    most=nums[i+1]
        return most

C

int majorityElement(int* nums, int numsSize){
    int i=0;
    int most=nums[i];
    int times=1;
    for(i=1;i<numsSize;i++){
        if(nums[i]==most)
            times++;
        else{
            times--;
            if(times==0){
                most=nums[i+1];
            }
        }
    }
    return most;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容