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;
    }
}
相关推荐
闲人xyz5 分钟前
02|Tool Runtime 不是工具箱,而是行动层:从 FileRead / FileEdit 看到 Agent 工程
算法
自我意识的多元宇宙9 分钟前
二叉树的遍历和线索二叉树--由遍历序列构造二叉树
数据结构
AI专业测评9 分钟前
2026网文圈大地震:顶配AI写作神器实测,这几款让“代练”彻底失业
人工智能·算法·aigc·ai写作
智者知已应修善业11 分钟前
【数字稳压控制DAC/TLC5615驱动】2023-5-27
c++·经验分享·笔记·算法·51单片机
爱写代码的倒霉蛋12 分钟前
2021年天梯赛L1-8
数据结构·算法
阿Y加油吧15 分钟前
动态规划入门必刷:不同路径 & 最小路径和 详解
算法·动态规划
ximen502_22 分钟前
算法面试题
java·数据结构·算法
zzzsde23 分钟前
【Linux】进程信号(2)保存信号与信号处理
linux·运维·服务器·算法
QuZero35 分钟前
Semaphore Principle
java·算法
ZPC821038 分钟前
自定义机械臂驱动(Action Server + /joint_states 发布)
算法