169. 多数元素

169. 多数元素

原题

java 复制代码
class Solution {
    public int majorityElement(int[] nums) {
        if(nums.length==1){
            return nums[0];
        }
        //数组排序
        Arrays.sort(nums);
        //统计出现最多的次数
        int count = 0;
        //保存结果
        int res = nums[0];
        //指向当前元素
        int i =0;
        //指向当前元素的下一个元素
        int j=i+1;
        while(j<nums.length){
            //如果不相等,则计算出现次数
            if(nums[i]!=nums[j]){
                if(count<j-i){
                    count = j-i;
                    res =nums[i];
                    i=j;
                    j++;
                }
            }
            j++;
        }
        //到这,判断最后一组数是否相等(因为在while循环里不能保证最后一个元素相等的判断)
        //若最后一个元素和nums[i]相等,并且出现次数大于count
        if(count<j-i&&nums[i]==nums[j-1]){
            res =nums[i];
        }
        return res;
    }
}
相关推荐
zxsz_com_cn3 小时前
设备预测性维护系统实战指南:架构、算法与落地路径
算法·架构
爪哇部落算法小助手3 小时前
爪哇周赛 Round 3
数据结构·c++·算法
吃着火锅x唱着歌3 小时前
LeetCode 3623.统计梯形的数目 I
算法·leetcode·职场和发展
迷途之人不知返3 小时前
二叉树的链式结构
数据结构
不会c嘎嘎3 小时前
【数据结构】红黑树详解:从原理到C++实现
开发语言·数据结构
吃着火锅x唱着歌3 小时前
LeetCode 2364.统计坏数对的数目
数据结构·算法·leetcode
qq_336313934 小时前
java基础-set类集合进阶
java·算法
kyle~4 小时前
数据结构---堆(Heap)
服务器·开发语言·数据结构·c++
嵌入式老牛4 小时前
第13章 图像处理之Harris角点检测算法(二)
图像处理·opencv·算法·计算机视觉
渡我白衣4 小时前
哈希的暴力美学——std::unordered_map 的底层风暴、扩容黑盒与哈希冲突终极博弈
java·c语言·c++·人工智能·深度学习·算法·哈希算法