[Leetcode] 229. 求众数 II java hashmap
2018-10-27 21:09
246 查看
给定一个大小为 n 的数组,找出其中所有出现超过
⌊ n/3 ⌋次的元素。
说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。
示例 1:
输入: [3,2,3] 输出: [3]
示例 2:
输入: [1,1,1,3,3,2,2,2] 输出: [1,2]
[code]class Solution { public List<Integer> majorityElement(int[] nums) { List<Integer> list=new ArrayList<>(); HashMap<Integer,Integer> map=new HashMap<Integer,Integer>(); int l=nums.length; if(l==0) return list; if(l==1) { list.add(nums[0]); return list; } for(int i=0;i<l;i++){ if(map.containsKey(nums[i])){ if(map.get(nums[i])==l/3) list.add(nums[i]); map.put(nums[i],map.get(nums[i])+1); } else{ map.put(nums[i],1); if(1>l/3){//list长度为2时 list.add(nums[i]); } } } return list; } }
阅读更多
相关文章推荐
- Java for LeetCode 229 Majority Element II
- Java for LeetCode 126 Word Ladder II 【HARD】
- [leetcode-213]House Robber II(java)
- 【LeetCode-229】Majority Element II(C++)
- Subset II leetcode java
- leetcode JAVA Binary Tree Level Order Traversal II 难度系数3 3.39
- 【LeetCode-面试算法经典-Java实现】【117-Populating Next Right Pointers in Each Node(二叉树链接右指针II)】
- (Java) LeetCode 213. House Robber II —— 打家劫舍 II
- Populating Next Right Pointers in Each Node II leetcode java
- [Leetcode][JAVA] Pascal's Triangle I, II
- [leetcode-229]Majority Element II(c++)
- leetcode oj java Reverse Linked List II
- LeetCode 350. Intersection of Two Arrays II(Java)
- leetcode-229- Majority Element II
- Jump Game II leetcode java
- LeetCode 229. Majority Element II (众数之二)
- Java [Leetcode 122]Best Time to Buy and Sell Stock II
- leetcode503 Next Greater Element II java
- [leetcode-113]Path Sum II(java)
- [leetcode]126. Word LadderII@Java解题报告