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;
    }
}
相关推荐
再卷也是菜10 分钟前
第一章、线性代数(2)高斯消元法
线性代数·算法
NAGNIP12 分钟前
一文搞懂CNN经典架构-EfficientNet!
算法·面试
如何原谅奋力过但无声16 分钟前
【chap11-动态规划(上 - 基础题目&背包问题)】用Python3刷《代码随想录》
数据结构·python·算法·动态规划
小宇的天下1 小时前
Calibre LVS Circuit Comparison(2)
算法·lvs
迈巴赫车主1 小时前
求最大公约数-欧几里得算法(辗转相除法)
算法·最大公约数
lxl13072 小时前
C++算法(15)BFS_FloodFill
算法·宽度优先
小王C语言2 小时前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
亦复何言??2 小时前
BeyondMimic 论文解析
人工智能·算法·机器人
WolfGang0073212 小时前
代码随想录算法训练营 Day20 | 回溯算法 part02
算法
YXXY3132 小时前
前缀和算法
算法