問題を読むのに時間がかかった。
class RugSizes {
public:
int rugCount(int a) {
int r = 0;
set<int> cnt;
for(int i=1; i*i<=a; ++i){
if(a % i)continue;
int j = a / i;
if(i == j)cnt.insert( min(i, j) );
else if(i % 2 || j % 2)cnt.insert( min(i, j) );
}
return r = cnt.size();
}
}; 500変に簡単。
class MovingAvg {
public:
double difference(int k, vector <double> d) {
double mx = -1;
double mn = 1000 * 100;
for(int i=0; i+k-1<d.size(); ++i){
double ave = 0;
for(int j=0; j<k; ++j){
ave += d[i+j];
}
ave /= (double)k;
mx = max(mx, ave);
mn = min(mn, ave);
}
return mx - mn;
}
}; 1000読んでない。
0 件のコメント :
コメントを投稿