多数元素

2021年09月16日 阅读数:3
这篇文章主要向大家介绍多数元素,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

题目

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

你能够假设数组是非空的,而且给定的数组老是存在多数元素。网络

来源:力扣(LeetCode)
连接:https://leetcode-cn.com/problems/majority-element
著做权归领扣网络全部。商业转载请联系官方受权,非商业转载请注明出处。spa

解题思路

刚一开始想的也是暴力破解的方法,可是由于没有给定数组的大小,全部就放弃了这种思路
后来想既然这样咱们能够假设第一个数就是所谓的多元数值,而后来判断,遇到相同的就加一,不一样的就减一
到最后总有一个数还在,那个就是最终结果。code

代码

int majorityElement(int* nums, int numsSize){ int majority=nums[0]; int count=1; for(int i=1;i<numsSize;++i){ if(majority==nums[i]) ++count; else count--; if(count==0) majority=nums[i+1]; } return majority; }
上一篇: 两数相加
下一篇: Mysql-MMM