LeetCode 169. 多数元素

    科技2022-07-13  130

    题目

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

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

    示例 1:

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

    示例 2:

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

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    题解

    class Solution { public int majorityElement(int[] nums) { int mode = 0,votes = 0; for(int i = 0;i < nums.length;i ++) { if(nums[i] == mode) { votes ++; } else { votes --; } if(votes < 0) { mode = nums[i]; votes = 0; } } return mode; } }

    1ms 41.8MB 本题采取摩尔投票法,或采取排序取中位数(注:因为此题众数为大于n/2,所以中位数必是众数)


    更多题解点击此处

    Processed: 0.010, SQL: 8