class Solution {
public int majorityElement(int[] nums) {
//给数组排序
Arrays.sort(nums);
//排序后所找的元素比在中间
return nums[nums.length/2];
}
}
拓展解法:摩根挑战法(评论区大佬的)
//这种解放很像很多帮派打擂台,一个人能刚好换掉一个人,谁人多留下的就是谁
//时间O(n),空间O(1)
class Solution {
public:
int majorityElement(vector<int>& nums) {
int res = 0, count = 0;
for(int i = 0; i < nums.size(); i++){
//擂台上没人,当前帮派的人上擂台
if(count == 0){
res = nums[i];
count++;
}
//擂台上有人,有人上擂台,和现在上台的帮派一换一
else
res==nums[i] ? count++:count--;
}
return res;
}
};