一、题目
1、审题
2、分析
给出一个整形数组,其中一个元素出现的次数 大于 n / 2 次。输出此元素。
二、解答
1、思路:
采用一个变量 count 进行计数。遍历结束时 count 大于 0 或遍历时出现 count > N / 2 ,则返回对应的元素
public int majorityElement(int[] nums) { int major = nums[0]; int count = 1; for (int i = 1; i < nums.length && count <= nums.length/2; i++) { if(count == 0) { count++; major = nums[i]; } else if(nums[i] == major) count++; else count--; } return major; }