标签:
在一个长度为n的数组中找出出现次数超过(n+1)/2次的数
说明请参考编程之美中的2.3
class Solution { public: int majorityElement(vector<int>& nums) { int candidate; int ntimes,i; for(ntimes = i = 0; i < nums.size(); ++i){ if(ntimes == 0){ candidate = nums[i],ntimes = 1; } else{ if(candidate == nums[i]) ntimes ++; else ntimes--; } } return candidate; } };
标签:
原文地址:http://www.cnblogs.com/onlyac/p/5136374.html