您的位置:首页 > 其它

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 
⌊
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;
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: