トピック:
配列内の数値の出現回数が配列の長さの半分を超えています。この数値を確認してください。
配列は空ではなく、特定の配列には常に要素の大部分が存在すると想定できます。
例1:
入力:[1、2、3、2、2、2、5、4、2]
出力:2
分析:数値が配列の長さの半分を超えるため、この数値は配列の中央に存在する必要があります。
注:配列の添え字が境界を越えないようにしてください。配列の番号が奇数9の場合、int [] i1 = new int {1,1,1,1,1,2,3,4,5}があり、i1 [4]が返され、 int [] i2 = {1,2,3,4,5,5,5,5,5}がある場合、i1 [4]が返されます。言うまでもなく偶数...
問題解決:
class Solution {
public int majorityElement(int[] nums) {
Arrays.sort(nums);
return nums[(nums.length/2)];//注意nums.length/2和nums.length/2+1的问题,后者数组下标越界
}
}