[LeetCode] 169. 多数元素
自己想的:
class Solution { public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length/2]; } }
方法二:
摩尔投票法,时间复杂度O(n),因为要遍历一次数组,空间复杂度O(1),不需要额外空间
class Solution { public int majorityElement(int[] nums) { int count=0; int candidate=nums[0]; for(int i=0;i<nums.length;i++){ if(nums[i]==candidate){ count++; }else{ count--; } if(count==0){ candidate=nums[i+1]; } } return candidate; } }