美文网首页
2022-03-03 「169. 多数元素」

2022-03-03 「169. 多数元素」

作者: 柠香萌萌鸡 | 来源:发表于2022-03-03 09:36 被阅读0次

今日简单题:https://leetcode-cn.com/problems/majority-element/
看到要统计每个数字出现的次数,第一反应仍然是for循环遍历数组,用HashMap,Key存数字,Value累计次数,当次数>n/2时,直接返回Key。
最暴力的方式也可以是整个数组遍历完,对次数做排序再返回,但是题目中有一个条件是,一定会存在众数,且众数出现的次数一定>n/2,这就意味着,一个数组里有且仅有一个众数。

本来想到这里就应该开始做题了,但是底下进阶要求时间复杂度O(n),空间复杂度O(1),这就意味着如果我们用HashMap来存放,空间复杂度一定不符合要求,所以还得再想想。
这个时候就想到了排序,排序后,不管是升降序,众数一定会至少在n/2附近结束,这个思路其实可以用滑动窗口来直观理解。


n/2坐标一定会是众数

排序法:

class Solution {
    public int majorityElement(int[] nums) {
        Arrays.sort(nums);
        return nums[nums.length/2];

    }
}

相关文章

  • [Leetcode] 169. 多数元素

    169. 多数元素 来源: 169. 多数元素 1. 解题思路 因为多数元素出现次数大于 ⌊ n/2 ⌋, 所以...

  • 2022-03-03 「169. 多数元素」

    今日简单题:https://leetcode-cn.com/problems/majority-element/[...

  • LeetCode-169-多数元素

    LeetCode-169-多数元素 169. 多数元素[https://leetcode-cn.com/probl...

  • 169. 多数元素

    169. 多数元素 经典面试题 摩尔投票法

  • 169. 多数元素

    题目描述 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素...

  • 169.多数元素

    题目描述 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素...

  • 169.多数元素

    解题思路 解法一:排序法 如果将数组 nums 中的所有元素按照单调递增或单调递减的顺序排序,那么下标为 ⌊n/2...

  • 169. 多数元素

    解法 神奇的解法,因为要返回的数,要超过半数,所以相同加1,不同减1,最终count应该是大于0的,所以可以这样去...

  • 169.多数元素

    题目: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素...

  • TOP 100 57 - 64

    169. 多数元素[https://leetcode-cn.com/problems/majority-eleme...

网友评论

      本文标题:2022-03-03 「169. 多数元素」

      本文链接:https://www.haomeiwen.com/subject/woyyrrtx.html