思路:模拟判断即可
刚刚开始up踩的坑是:
没想到 111222333...情况下,一个个判断连续a[i+1]==a[i],这样子是会有问题的
如何代码中还学到了一些容器的优雅写法 ,学到就是赚到!兄弟们
ACcode:
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
int n,ans;
void solve() {
cin>>n;
vector<int>v(n);
for(auto &x:v)cin>>x;
sort(v.begin(),v.end());
map<int,int>mp;
for(int i=0; i<n; i++) {
if(mp[v[i]-1]>0)mp[v[i]-1]--;
else ans++;
mp[v[i]]++;
}
cout<<ans<<"\n";
}
signed main() {
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int tt=1;
//cin>>tt;
while(tt--) {
solve();
}
return 0;
}
over~