您的位置:首页 > 编程语言 > C语言/C++

LeetCode 169. Majority Element

2017-07-11 11:10 459 查看
最近开始刷题,从easy开始。刚看到这道题的想法是用双轨制记录位置再进行遍历。代码如下:

class Solution {

public:

    int majorityElement(vector<int>& nums) {

       

        int j=0,sum=0;

        sort(nums.begin(),nums.end());

       while(j<nums.size()){

           for(int i=j+1; i<nums.size();i++)

        {

            if(nums[i]==nums[j]) {sum++;j=i;}

            

        }

          if(sum>=nums.size()/2) return nums[j];

           else {sum=0;j++;} 

       }

    }
};

后来提交之后看了答案才发现有更简单的方法:

  sort(nums.begin(), nums.end());

        return nums[nums.size()/2];

以后还是应该先考虑清楚后再打代码,不要上来就开始写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode C++