【LeetCode题解】169_求众数(Majority-Element)

 目录

  • 这道题有 5 种方法,8 种实现,详细分析可以看花花酱的 YouTube 专栏

    描述

    给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

    你可以假设数组是非空的,并且给定的数组总是存在众数。

    示例 1:

    输入: [3,2,3] 输出: 3

    示例 2:

    输入: [2,2,1,1,1,2,2] 输出: 2

    解法一:暴力法

    思路

    遍历数组中的每个元素,统计该元素出现的次数(嵌套遍历),如果该元素出现的次数 >n/2,则该元素就是数组的众数。

    Java 实现

    class Solution {     public int majorityElement(int[] nums) {         int majorityCount = nums.length / 2;         for (int num1 : nums) {             int count = 0;             for (int num2 : nums) {                 if (num2 == num1) {                     ++count;                 }             }             if (count > majorityCount) {                 return num1;             }         }         throw new IllegalArgumentException("The array does not contain a majority element!");     } }

    Python 实现

    
                            
    关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信