169. Majority Element | 数组中的主元素
2017-02-15 19:46
351 查看
Given an array of size n, find the majority element. The majority element is the element that appears more than
You may assume that the array is non-empty and the majority element always exist in the array.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
Subscribe to see which companies asked this question.
思路:通过一个计数器,遇到相同的就加一,不同则减一,因为主元素大于等于n/2,所以最后会大于等于零的就是主元素。
public class Solution {
public int majorityElement(int[] nums) {
int count = 0;
int majority = 0;
for (int i = 0; i < nums.length; i++) {
if (count == 0) {
majority = nums[i];
count++;
} else if (nums[i] == majority) {
count++;
} else {
count--;
}
}
return majority;
}
}
⌊ n/2 ⌋times.
You may assume that the array is non-empty and the majority element always exist in the array.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
Subscribe to see which companies asked this question.
思路:通过一个计数器,遇到相同的就加一,不同则减一,因为主元素大于等于n/2,所以最后会大于等于零的就是主元素。
public class Solution {
public int majorityElement(int[] nums) {
int count = 0;
int majority = 0;
for (int i = 0; i < nums.length; i++) {
if (count == 0) {
majority = nums[i];
count++;
} else if (nums[i] == majority) {
count++;
} else {
count--;
}
}
return majority;
}
}
相关文章推荐
- LeetCode 169. Majority Element (数组的主要元素、摩尔投票算法)
- LeetCode-169:Majority Element (数组中的多数元素)
- Leetcode:169. Majority Element(找到数组中出现次数最多的元素)
- 字符串算法——查找数组多数元素(Majority Element II)
- 169. Majority Element (寻找多数元素)
- 169. Majority Element--寻找数组中出现次数超过一半的数据,229. Majority Element II--注意最后的检测
- [LeetCode]169. Majority Element(多数元素)
- LeetCode Problem 169: Majority Element查找多数元素
- LeetCode#169. Majority Element(超过数组长度一半的元素)
- leetcode169---Majority Element(数组中出现次数超过一半的数)
- 【原创】leetCodeOj --- Majority Element 解题报告(脍炙人口的找n个元素数组中最少重复n/2次的元素)
- LeetCode 题解 169. Majority Element(查找多数元素)
- leetCode 169. Majority Element 数组
- 169. Majority Element 查找多数元素
- 169. Majority Element (数组)
- 169.Majority Element (数组中出现次数超过一半的数)
- [LeetCode]169. Majority Element寻找数组中超过一半的那个数
- ※ Leetcode - Array - 169. Majority Element(快速找出数组中出现过一半以上次数的数,3种写法)
- [LeetCode] 169. Majority Element 多数元素
- [LeetCode169]Majority Element求一个数组中出现次数大于n/2的数