剣は0fferを参照します。39は配列内の出現回数の半分以上を返します

トピック:

配列内の数値の出現回数が配列の長さの半分を超えています。この数値を確認してください。

配列は空ではなく、特定の配列には常に要素の大部分が存在すると想定できます。

例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的问题,后者数组下标越界
    }
}

 

おすすめ

転載: blog.csdn.net/qq_44624536/article/details/115107650