2024/4/1—力扣—主要元素

代码实现:

思路:摩尔投票算法

cpp 复制代码
int majorityElement(int *nums, int numsSize) {
    int candidate = -1;
    int count = 0;
    for (int i = 0; i < numsSize; i++) {
        if (count == 0) {
            candidate = nums[i];
        }
        if (nums[i] == candidate) {
            count++;
        } else {
            count--;
        }
    }
    count = 0;
    int length = numsSize;
    for (int i = 0; i < numsSize; i++) {
        if (nums[i] == candidate) {
            count++;
        }
    }
    return count * 2 > length ? candidate : -1;
}
相关推荐
自学小白菜10 小时前
每周刷题 - 第三周 - 双指针专题 - 02
python·算法·leetcode
不能只会打代码11 小时前
力扣--3433. 统计用户被提及情况
java·算法·leetcode·力扣
如竟没有火炬12 小时前
四数相加贰——哈希表
数据结构·python·算法·leetcode·散列表
埃伊蟹黄面13 小时前
模拟算法思想
c++·算法·leetcode
菜鸟233号15 小时前
力扣654 最大二叉树 java实现
java·算法·leetcode
鹿角片ljp17 小时前
力扣144.二叉树前序遍历-递归和迭代
算法·leetcode·职场和发展
好易学·数据结构17 小时前
可视化图解算法73:跳台阶(爬楼梯)
数据结构·算法·leetcode·动态规划·笔试
Tisfy17 小时前
LeetCode 3433.统计用户被提及情况:(大)模拟
linux·算法·leetcode
长安er17 小时前
LeetCode 98. 验证二叉搜索树 解题总结
java·数据结构·算法·leetcode·二叉树·力扣