lintcode 主元素解决方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lintcode 主元素解决方法相关的知识,希望对你有一定的参考价值。
原题
给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。
样例
给出数组[1,1,1,1,2,2,2],返回 1
主要思路
在不考虑时间复杂度的情况下,用for循环从第一个数开始与后面的数依次比较最后返回结果。代码如下:
class Solution { public: /** * @param nums: A list of integers * @return: The majority number */ int majorityNumber(vector<int> nums) { // write your code here int cnt = 0; int result = 0,i; for (i = 0 ; i < nums.size() ; i++) { if (cnt == 0) { result = nums[i] ; cnt++ ; } else { if (result != nums[i]) { cnt-- ; } else { cnt++ ; } } } return result ; } };
以上是关于lintcode 主元素解决方法的主要内容,如果未能解决你的问题,请参考以下文章