LeetCode Weekly Contest 158
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
int N;
int cnt[1d5];
class Solution {
public:
int maxEqualFreq(vector<int>& A) {
int k, x, y, res = 0;
set<int> s;
set<int>::iterator it;
map<int,int> mp;
N = A.size();
rep(i,1d5) cnt[i] = 0;
rep(i,N) A[i]--;
rep(i,N){
k = cnt[A[i]];
if(k) if(--mp[k]==0) s.erase(k);
cnt[A[i]]++;
k = cnt[A[i]];
if((++mp[k])==1) s.insert(k);
if(s.size()==1){
x = *s.begin();
if(x==1) res >?= i + 1;
if(mp[x]==1) res >?= i + 1;
}
if(s.size()==2){
it = s.begin();
x = *(it++);
y = *(it++);
if(x==1 && mp[x]==1) res >?= i + 1;
if(x+1==y && mp[y]==1) res >?= i + 1;
}
}
return res;
}
};
Current time: 2024年04月20日00時58分27秒
Last modified: 2019年11月03日19時31分10秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)