摩尔投票算法(Moore majority vote algorithm)

1.关于摩尔投票算法 主要用于查找 【数组中出现次数超过一半的数字】
2.理念是“正负抵消” (将参照数字与不同的数字抵消)
3.时间和空间复杂度分别为 O(N) 和O(1)
nums = [1,2,5,9,5,9,5,5,5]
`
var majorityElement = function(nums) {
let n = nums[0]
let c = 1

for (let i = 1; i < nums.length; i++) {
if (n !== nums[i]) {
c--
}
if (c === 0) {
n = nums[i]
}
if (nums[i] === n) {
c++
}
}

return c > 0 ? n : -1
};
`

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容