169. A maioria dos elementos
Dado um array nums de tamanho n, retorne a maioria de seus elementos. Elementos majoritários referem-se a elementos que aparecem mais de ⌊ n/2 ⌋ na matriz .
Você pode assumir que os arrays não estão vazios e que sempre há uma maioria de elementos em um determinado array.
Exemplo 1:
输入:nums = [3,2,3]
输出:3
Exemplo 2:
输入:nums = [2,2,1,1,1,2,2]
输出:2
dica:
- n == nums.comprimento
- 1 <= n <= 5 * 10 ^ 4
- -10^9 <= números[i] <= 10^9
Idéias de resposta:
- A pergunta diz que deve haver algo que aparece mais da metade das vezes
- Então classifique esta matriz primeiro
- O número do meio é a moda
- Basta retornar o elemento do subscrito
class Solution {
public int majorityElement(int[] nums) {
Arrays.sort(nums);//题目说必然有一个数超过一半
return nums[nums.length/2];//所以排序过后,中间那个数必然是那个众数
}
}