博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Majority Element II
阅读量:4686 次
发布时间:2019-06-09

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

Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorithm should run in linear time and in O(1) space.

     这道题就不能和之前那个Majority Element那样直接sort然后取巧就可以解决了。

     不过还是比较简单的,老老实实地先sort之后挨着挨着count即可。

     只是注意这里的special case(count>(nums.length/3)一定要放在for loop后面噢。

     关于为啥请直接思考length=2的情况就懂了哈哈。

     代码如下。~

public class Solution {    public List
majorityElement(int[] nums) { List
result=new ArrayList
(); if(nums.length==0){ return result; } Arrays.sort(nums); int count=1; int temp=nums[0]; for(int i=1;i
(nums.length/3)){ result.add(temp); temp=nums[i]; count=1; }else{ temp=nums[i]; count=1; } } if(count>(nums.length/3)){ result.add(temp); } return result; }}

 

转载于:https://www.cnblogs.com/orangeme404/p/4744603.html

你可能感兴趣的文章
jquery 取id模糊查询
查看>>
解决在vue中,自用mask模态框出来后,下层的元素依旧可以滑动的问题
查看>>
修改node节点名称
查看>>
Java 文件下载
查看>>
图论——读书笔记 (深度优先搜索)
查看>>
PAT(B) 1014 福尔摩斯的约会(Java)
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
SSH加固
查看>>
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
编译原理实验一
查看>>
Git for Android Studio 学习笔记
查看>>
pip 警告!The default format will switch to columns in the future
查看>>
Arrays类学习笔记
查看>>
实验吧之【天下武功唯快不破】
查看>>
2019-3-25多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)...
查看>>
win7-64 mysql的安装
查看>>