169. Majority Element
- 水平不够,有hash思想,不会用hashmap,要学
- 排序解决,中间元素必为结果,思想自己想
- 传统的统计,双循环嵌套,为了方便些,可以用STL里面vector和find()函数,肯定比自己写循环快。这个方法竟然快于方法2,可能原因,没有遍历所有数,中途就可返回值。在测试形式多的时候,快一点。
class Solution {
public:
int majorityElement(vector<int>& nums) {
double len = nums.size() / 2.0;
vector<int> data;
vector<int> count;
for(int i = 0; i < nums.size(); i++)
{
vector<int>::iterator result = find(data.begin(),data.end(),nums[i]);
if(result == data.end())
{
data.push_back(nums[i]);
count.push_back(1);
if(1 > len)return nums[i];
}
else
{
if(++count[result - data.begin()] > len)return nums[i];
}
}
}
};