博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程题—leetcode229. 求众数 II—深入理解摩尔投票法
阅读量:2441 次
发布时间:2019-05-10

本文共 717 字,大约阅读时间需要 2 分钟。

题目描述
给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例 1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3,3,2,2,2]输出: [1,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路

需要注意的是

如果至多选一个代表,那他的票数至少要超过一半(⌊ 1/2 ⌋)的票数;

如果至多选两个代表,那他们的票数至少要超过⌊ 1/3 ⌋的票数;
如果至多选m个代表,那他们的票数至少要超过⌊ 1/(m+1) ⌋的票数

最后选出的结果有可能满足条件,还要重新再次进行判断

通过代码
class Solution {
public List
majorityElement(int[] nums) {
List
res = new LinkedList
(); int num1=-1,count1=0; int num2=-1,count2=0; for(int i=0;i
nums.length/3) res.add(num1); if (count2>nums.length/3) res.add(num2); return res; }}
你可能感兴趣的文章
macOS Catalina:Web开发人员和设计师应了解的5件事
查看>>
易辅客栈 从零学辅助_如何从零启动辅助项目
查看>>
webpack指南_Webpack初学者指南
查看>>
使用Socialite轻松向您的应用添加社交登录
查看>>
fa fa-user_如何通过短信通过2FA保护Laravel应用
查看>>
使用MongoDB Stitch在10分钟内构建一个Slack应用
查看>>
next主题seo优化_SEO可见性的5个最佳WordPress主题
查看>>
揭穿3个常见的WordPress神话
查看>>
wordpress 静态化_地理定位WordPress内容以个性化您的网站
查看>>
系统上线发布清单_跨浏览器测试清单上线之前
查看>>
Python自然语言处理入门
查看>>
迁移wordpress_从WordPress.Com迁移到自托管WordPress
查看>>
文档编写软件_编写第一个软件文档的指南
查看>>
bootstrap组件_深入了解Bootstrap表单组件
查看>>
商品类别批量添加的前端开发_与批量类别创建者一起学习插件开发
查看>>
bootstrap步骤_通过8个简单步骤进行Bootstrap和WordPress主题集成
查看>>
struts2 css失效_CSS体系结构和可维护CSS的三大Struts
查看>>
您可能不知道WooCommerce可以做的10件事
查看>>
php使用nginx建网站_如何使用预建网站来刷新网站的外观
查看>>
wordpress快速建站_您的WordPress主题灵活还是快速?
查看>>