[leetcode]229. Majority Element II -- JavaScript 代码
来源:互联网 发布:装修全包 半包 知乎 编辑:程序博客网 时间:2024/06/07 22:26
/** * @param {number[]} nums * @return {number[]} */var majorityElement = function(nums) { var ret = []; var len = nums.length; var threshold = len/3; if(len===0||len==1){ return nums; } var candidate0 = nums[0]; var candidate1 = Infinity; var count0 = 1; var count1 = 0; for(var i=1;i<len;i++){ var tmp = nums[i]; if(tmp == candidate0){ count0++; }else if(tmp == candidate1){ count1++; }else{ if(count1 === 0){ candidate1 = nums[i]; count1++; }else if(count0 === 0){ candidate0 = nums[i]; count0++; }else{ count0--; count1--; } } } count0 = 0; count1 = 0; for(i=0;i<len;i++){ if(nums[i]==candidate0){ count0++; } if(nums[i]==candidate1){ count1++; } } if(count0>threshold){ ret.push(candidate0); } if(count1>threshold&&candidate1!=candidate0){ ret.push(candidate1); } return ret;};
这道题的难点在于,1、要求 O(1) 的空间复杂度;2、并不保证Majority Element一定存在。
主体的思路和Majority Element是一样的,首先要从数组中找出备选众数。然后进行第二轮查找,确定备选众数能不能真正达到众数的标准。如果能,才能添加到将要返回的数组中。
0 0
- [leetcode]229. Majority Element II -- JavaScript 代码
- LeetCode 229. Majority Element II
- [LeetCode]229. Majority Element II
- 229. Majority Element II LeetCode
- [leetcode] 229. Majority Element II
- LeetCode 229. Majority Element II
- LeetCode *** 229. Majority Element II
- 【leetcode】229. Majority Element II
- leetcode.229. Majority Element II
- LeetCode - 229. Majority Element II
- [leetcode]229. Majority Element II
- [leetcode]229. Majority Element II
- [leetcode] 229. Majority Element II
- LeetCode 229. Majority Element II
- Leetcode 229. Majority Element II
- [LeetCode]229. Majority Element II
- Leetcode 229. Majority Element II
- LeetCode 229. Majority Element II
- UpdateData函数的学习
- javascript高级程序设计读书笔记--传递参数
- ffmpeg 音频视频 使用过程中碰到的问题记录
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- android 秒启动解决启动白屏,黑屏现象
- [leetcode]229. Majority Element II -- JavaScript 代码
- logstash中字符串的split,对每个子串进行json解析
- IP转换应用
- ubuntu上安装并使用nvm管理node版本
- git常用命令
- 进制转换【思维】(巧法)
- 后缀数组
- HNOI2010 bounce 弹飞绵羊 (BZOJ2002)
- Java线程和多线程(四)——主线程中的异常