标签:write 思路 color ram log 复杂度 返回 -- integer
原题
给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。
样例
给出数组[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 ; } };
标签:write 思路 color ram log 复杂度 返回 -- integer
原文地址:http://www.cnblogs.com/li1400802003/p/7336970.html