[LeetCode]Majority Element
来源:互联网 发布:小野妹子学吐槽 知乎 编辑:程序博客网 时间:2024/06/05 18:53
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.
You may assume that the array is non-empty and the majority element always exist in the array.
思路:
1.Map计数,时间复杂度O(3n)
2.排序后取中值,时间复杂度依赖于排序算法,平均最快O(n*logn) –>时间效率不好,排除
3.count计数,时间复杂度O(n)
/* 法一:时间复杂度O(n)+空间复杂度O(n) */import java.util.Map;import java.util.HashMap;public class Solution { public int majorityElement(int[] nums) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0;i < nums.length;i++) { map.put(nums[i], 0); } for (int i = 0;i < nums.length;i++) { map.put(nums[i], map.get(nums[i]) + 1); } int majority = nums[0]; for (int i = 0;i < nums.length;i++) { if (map.get(majority) < map.get(nums[i])) { majority = nums[i]; } } return majority; }}/* 优化目前最优解 *//* 法一:时间复杂度O(n)+空间复杂度O(1) */import java.util.Map;import java.util.HashMap;public class Solution { public int majorityElement(int[] nums) { int majority = nums[0]; int count = 1; for (int i = 1;i < nums.length;i++) { if (count == 0) { majority = nums[i]; count = 1; } else if (nums[i] == majority) count++; else count--; } return majority; }}
阅读全文
0 0
- 【leetcode】Majority Element II,Majority element algorithm
- Leetcode: Majority Element &Majority Element II
- Leetcode Majority Element
- leetcode 169-Majority Element
- 【leetcode 哈希表】Majority Element
- LeetCode:Majority Element
- leetcode:Majority Element
- leetcode: Majority Element
- [LeetCode] Majority Element
- leetcode 153: Majority Element
- leetcode Majority Element
- LeetCode:Majority Element
- leetcode:Majority Element
- [LeetCode] Majority Element
- Leetcode-Majority Element
- [leetcode]Majority Element
- [LeetCode]Majority Element
- Leetcode: Majority Element
- Centos搭建 Discuz 论坛
- 周志华《机器学习》笔记:第3章 线性模型
- oracle数据库报ORA-12541 TNS:无监听程序
- 页面时钟表的设计
- jquery ajax的各种数据类型的请求 --spring的接收
- [LeetCode]Majority Element
- CodeWarrior环境下中断使用
- 幸福
- mongodb相关语句
- 类式继承和原型链继承,并分析二者的优缺点
- 线程的生命周期
- C语言入门参考(一)
- 【机器配置】python与C混合编程注意机器与平台的位数
- pywin32的安装