【LeetCode热题100】【技巧】多数元素

题目链接:169. 多数元素 - 力扣(LeetCode)

其实就是找众数,可以用哈希表记录每个元素的出现次数,然后返回最多的,或者排序一下返回中间位置的数

但是如果要O(n)的时间复杂度和O(1)的空间复杂度,可以用同归于尽消杀法,如果数组里面这个数的数量超过了一半,那么其他数和他同归于尽后最后还是剩下他

class Solution {
public:
    int majorityElement(vector<int> &nums) {
        int count = 1;
        int mode = nums[0];
        for (int i = 1; i < nums.size(); i++) {
            if (nums[i] == mode)
                count++;
            else {
                if (count == 0)
                    mode = nums[i];
                else
                    count--;
            }
        }
        return mode;
    }
};

相关推荐

  1. LeetCode100】【技巧多数元素

    2024-04-04 23:54:04       34 阅读
  2. LeetCode100】【技巧】颜色分类

    2024-04-04 23:54:04       35 阅读
  3. Leetcode 《面试经典150》169. 多数元素

    2024-04-04 23:54:04       50 阅读
  4. LeetCode-100:347. 前 K 个高频元素

    2024-04-04 23:54:04       36 阅读
  5. Leetcode100

    2024-04-04 23:54:04       54 阅读
  6. LeetCode100

    2024-04-04 23:54:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 23:54:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 23:54:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 23:54:04       82 阅读
  4. Python语言-面向对象

    2024-04-04 23:54:04       91 阅读

热门阅读

  1. git如何正确合并分支

    2024-04-04 23:54:04       39 阅读
  2. TCP长连接与短链接的区别

    2024-04-04 23:54:04       40 阅读
  3. 一文读懂矩阵在人工智能中到底有什么用

    2024-04-04 23:54:04       36 阅读
  4. h5中国游戏注册威廉希尔源代码大全怎么下载

    2024-04-04 23:54:04       27 阅读
  5. Double dispatch和Visitor

    2024-04-04 23:54:04       33 阅读
  6. 计算机组成原理讲解

    2024-04-04 23:54:04       38 阅读
  7. springboot和redis与jwt实现jwt的token双重拦截

    2024-04-04 23:54:04       41 阅读
  8. 爬虫开发教程及案例

    2024-04-04 23:54:04       42 阅读
  9. 领域驱动设计战术设计

    2024-04-04 23:54:04       52 阅读
  10. Docker运维

    2024-04-04 23:54:04       45 阅读