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;
    }
}
相关推荐
信奥卷王5 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵5 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG6 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
码完就睡6 小时前
数据结构——红黑树
数据结构
码爸7 小时前
数据结构详细介绍
数据结构
Navigator_Z7 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛7 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记7 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序8 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm