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;
    }
}
相关推荐
立志成为大牛的小牛3 分钟前
数据结构——五十九、冒泡排序(王道408)
数据结构·学习·程序人生·考研·算法
s09071366 分钟前
下视多波束声呐进行测绘作业注意事项
算法·海洋测绘·下视多波束
papership21 分钟前
【入门级-数据结构-3、特殊树:完全二叉树的定义与基本性质】
数据结构·算法
中國龍在廣州24 分钟前
AI顶会ICML允许AI参与审稿
人工智能·深度学习·算法·机器学习·chatgpt
立志成为大牛的小牛24 分钟前
数据结构——六十、快速排序(王道408)
数据结构·程序人生·考研·算法·排序算法
Dev7z25 分钟前
基于MATLAB的GA–PSO混合算法无线传感器网络节点部署优化研究
网络·算法·matlab
koo36428 分钟前
12.14周报
人工智能·算法
量子炒饭大师34 分钟前
一天一个计算机知识——【编程百度】向上取整
c语言·数据结构·c++·git·github
子一!!36 分钟前
数据结构==B-树==
数据结构·b树