leetcode781

      數一下和自己報相同數字的兔子有多少個,如果超過了報的數x+1,那麼多出來的兔子是屬於另外的團體的。

      

class Solution {
public:
    int numRabbits(vector<int>& answers) {
        int ans = 0;
        sort(answers.begin(),answers.end());
        for(int i = 0;i<answers.size();i++)
        {
            int num = 1;
            while(i+1 < answers.size() && answers[i] == answers[i+1])
            {
                num++;
                i++;
            }
            if(answers[i] == 0) ans+=num;
            else
            {
                if(num>=answers[i]+1)
                {
                    int t = num/(answers[i]+1);
                    ans += t*(answers[i]+1);
                    num %= (answers[i]+1);
                }
                if(num) ans+=answers[i]+1;
            }
        }
        return ans;
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章