美文网首页
169. 求众数-leetcode 摩尔投票算法

169. 求众数-leetcode 摩尔投票算法

作者: 佛祖拿屠刀 | 来源:发表于2018-12-24 22:51 被阅读0次

提问: 给定一个int型数组,找出该数组中出现次数大于数组长度一半的int值。

解决方案: 遍历该数组,统计每个int值出现次数,再遍历该数组,找出出现次数大于数组长度一半的int值。

两种线性解法:
一种是放入一个哈希表中,然后同数加一,
还有一种就是遍历数组,然后发现相同就给maj加一,如果不同就减一,到0就把结果换成变成0的数,最后得到的数就是答案。

class Solution {
   func majorityElement(_ nums: [Int]) -> Int {
        var maj = 0
        var num = nums[0]
        for n in nums {
            if num == n {
               maj = maj + 1
            } else {
                if maj > 0 {
                    maj = maj - 1
                } else {
                    num = n
                }
            }
        }
        return num
    }
}

相关文章

  • 169. 求众数-leetcode 摩尔投票算法

    提问: 给定一个int型数组,找出该数组中出现次数大于数组长度一半的int值。 解决方案: 遍历该数组,统计每个i...

  • map:169.求众数(投票算法)

    求众数 哈希Map 复杂度分析 时间复杂度:O(N) 空间复杂度: O(N) 投票算法 复杂度分析

  • LeetCode 169.求众数

    给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是...

  • 169. 多数元素

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

  • [LeetCode][Python]169. 求众数

    给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组...

  • LeetCode 169 求众数 Majority Elemen

    有关递归与分治的做题笔记,Python实现 169. 求众数 Majority Element LeetCodeC...

  • LeetCode 169. 求众数 Majority Eleme

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

  • LC数组题目分类详解

    leetcode 169 求众数下面代码给出: 哈希法/排序法/投票法 哈希法:用map统计个数,直接计算即可排序...

  • 169. 求众数

    内容 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假...

  • 169. 求众数

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

网友评论

      本文标题:169. 求众数-leetcode 摩尔投票算法

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