算法训练Day10 | LeetCode 169 多数元素

题目链接

https://leetcode.cn/problems/majority-element/?envType=study-plan-v2&envId=top-interview-150

思路

这个题是非常经典的可以运用摩尔投票法的题,在这里我推荐一个up的视频,链接我贴在下方了

【算法】摩尔投票法_哔哩哔哩_bilibili

这里我就不过多赘述了,他讲的已经非常好了

代码

java 复制代码
class Solution {
    //摩尔投票法
    public int majorityElement(int[] nums) {
        int count = 0;
        int res = 0;
        
        for (int num : nums) {
            //换候选人
            if (count == 0) {
                res = num;
            }
            count += (num == res) ? 1 : -1;    //相同就得票,不同则抵消
        }
        return res;
    }
}
相关推荐
鹿角片ljp8 小时前
LeetCode 236. 二叉树的最近公共祖先|递归后序
算法
luj_17688 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
无定义_8 小时前
Floyd——Warshall
算法
刃神太酷啦9 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
带多刺的玫瑰9 小时前
Leecode#9刷题之回文数
数据结构·算法
泯泷10 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷10 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷10 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷10 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷10 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法