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;
}
相关推荐
老鼠只爱大米1 分钟前
LeetCode经典算法面试题 #141:环形链表(快慢指针、标记节点等多种方法详细解析)
算法·leetcode·链表·快慢指针·floyd算法·环形链表
踩坑记录28 分钟前
leetcode hot100 48.旋转图像 矩阵转置
leetcode
鹿角片ljp1 小时前
力扣112. 路径总和:递归DFS vs 迭代BFS
leetcode·深度优先·宽度优先
im_AMBER1 小时前
Leetcode 104 两两交换链表中的节点
笔记·学习·算法·leetcode
程序员-King.1 小时前
day159—动态规划—打家劫舍(LeetCode-198)
c++·算法·leetcode·深度优先·回溯·递归
浅念-1 小时前
C语言——单链表
c语言·开发语言·数据结构·经验分享·笔记·算法·leetcode
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——力扣 127 题:单词接龙
算法·leetcode·职场和发展
Swift社区2 小时前
LeetCode 380 O(1) 时间插入、删除和获取随机元素
算法·leetcode·职场和发展
java修仙传2 小时前
力扣hot100:划分字母区间
算法·leetcode·职场和发展
java修仙传2 小时前
力扣hot100:跳跃游戏||
算法·leetcode·游戏