class Solution {
public int majorityElement(int[] nums) {
if(nums == null || nums.length <= 0){
return 0;
}
Arrays.sort(nums);
return nums[nums.length/2];
}
}
其实就是找中间的元素。这个我利用了Arrays的sort方法。
下面来做一下用快速排序应该也可以。
还有一种方法说是摩尔投票法
class Solution {
public int majorityElement(int[] nums) {
int count = 1;
int result = nums[0];
for(int i = 1 ;i<nums.length;++i){
if(count == 0){
result = nums[i];
count =1;
}else if(result == nums[i]){
count++;
}else{
count--;
}
}
return result;
}
}