美文网首页
leetcode 169

leetcode 169

作者: 卖西瓜的西瓜皮 | 来源:发表于2018-05-11 10:49 被阅读0次

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];
            }
        }
    }
};

相关文章

网友评论

      本文标题:leetcode 169

      本文链接:https://www.haomeiwen.com/subject/owtfdftx.html