-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDAY0034.cpp
More file actions
30 lines (30 loc) · 1.02 KB
/
DAY0034.cpp
File metadata and controls
30 lines (30 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 781. Rabbits in Forest
class Solution {
public:
int numRabbits(vector<int>& answers) {
// unordered_map<int,int>hashmap;
// int rabbits=0;
// for(int i=0;i<answers.size();i++){
// if(answers[i]==0){rabbits+=1;continue;}
// hashmap[answers[i]]++;
// if(hashmap[answers[i]]>answers[i]+1) hashmap[answers[i]]=1;
// if(hashmap[answers[i]]==1)rabbits+=(answers[i]+1);
// }
// return rabbits;
int rabbits=0;
sort(answers.begin(),answers.end());
for(int i=0;i<answers.size();i++){
if(answers[i]==0) {
rabbits++;
}
else{
rabbits+=answers[i]+1;
int x=answers[i];
while(i+1<answers.size()&&answers[i]==answers[i+1]&&--x>=0){
i++;
}
}
}
return rabbits;
}
};