给定一个大小为
n
的数组nums
,返回其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋
的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
- public class Nine {
- public static void main(String[] args) {
- Nine nine = new Nine();
- System.out.println(nine.majorityElement(new int[]{3,2,3}));
- System.out.println(nine.majorityElement(new int[]{2,2,1,1,1,2,2}));
- }
- public int majorityElement(int[] nums) {
- int n = nums.length;
- Arrays.sort(nums);
- int start = 0;
- int code = nums[0];
- for (int i = 1; i < n; i++){
- if(nums[i] != code){
- if(i - start > n / 2){
- return code;
- }
- code = nums[i];
- start = i;
- }
- }
- return code;
- }
- }