169. 多数元素

Myth丶恋晨 2023-01-23 14:57 33阅读 0赞

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

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

示例 1:

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

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

进阶:

尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。

  1. class Solution {
  2. public:
  3. int majorityElement(vector<int>& nums) {
  4. int c = -1,cnt=0;
  5. for(int i = 0;i<nums.size();i++)
  6. {
  7. if(cnt==0) c = nums[i];
  8. if(nums[i]==c) cnt++;
  9. else cnt--;
  10. }
  11. return c;
  12. }
  13. };

发表评论

表情:
评论列表 (有 0 条评论,33人围观)

还没有评论,来说两句吧...

相关阅读

    相关 leetcode169. 多数元素

    题目描述: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元

    相关 169. 多数元素

    给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例