Leetcode 多数元素
Day 8 第一题
解题思路:数组中的数a出现次数若超过n/2,则排序后处于中间位置的元素一定是a。
import java.util.*;
class Solution {
public int majorityElement(int[] nums) {
// 如果他超过n/2,则排序后处于中间位置。
int n = nums.length;
Arrays.sort(nums);
int majorityElement = nums[(int)Math.ceil(n/2)];
return majorityElement;
}
}
对于数组类型元素,可直接使用Array.sort()
方法。
补充:
Arrays.sort(int[] a, int fromIndex, int toIndex)
;
Arrays.sort(T[] a, Comparator<? Super T> c)
;
Integer[] array = {2,3,5,6,9,7}; Arrays.sort(array, (o1, o2) -> o2 - o1)
;