演算法面試題彙總_2求眾數

zhendeWD發表於2019-07-13

題目:給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋ 的元素。
你可以假設陣列是非空的,並且給定的陣列總是存在眾數。
示例 1:
輸入: [3,2,3]
輸出: 3
示例 2:
輸入: [2,2,1,1,1,2,2]
輸出: 2
思路
先sort排下序,然後取最中間的那個數因為定義的是個數大於陣列長度的二分之一
程式碼實現

public class 求眾數 {
    //先sort排下序,然後取最中間的那個數因為定義的是個數大於陣列長度的二分之一
    public static void main(String[] args) {
        int[] arr = {2,2,1,1,1,2,2};
        System.out.println(moreNum(arr));
    }
    public static int moreNum(int[] nums){
        Arrays.sort(nums);
        return nums[nums.length/2];
    }
}

結果
在這裡插入圖片描述

相關文章