250
bool is_v(char c)
{
return string("aiueo").find( tolower(c) ) != string::npos;
}
class VowelLatin {
public:
string translate(string w) {
string s, t;
for(int i=0; i<w.size(); ++i){
if( is_v( w[i] ) )t += w[i];
else s += w[i];
}
return s + t;
}
};
500
class ServiceNames {
public:
vector <string> makeList(vector <string> s) {
map< string, vector<string> > m;
for(int i=0; i<s.size(); ++i){
istringstream iss( s[i] );
string t, u;
iss >> t;
while( iss >> u ) m[u].push_back(t);
}
vector <string> v;
FOR(itr, m){
vector<string> u = itr->second;
string t = itr->first;
sort( u.begin(), u.end() );
t += " ==>";
for(int i=0; i<u.size(); ++i){
if(i)t += ',';
t += " " + u[i];
}
v.push_back(t);
}
return v;
}
};
1000
class MostLikely {
public:
int likelyRank(vector <int> sc, int low, int high) {
++high;
sc.push_back(-1);
sc.push_back(1000000001);
sort( ALL(sc) );
const int size = sc.size();
int rank[size];
fill( rank, rank + size, -1 );
for(int i=0; i+1<sc.size(); ++i){
rank[i] = min( high, sc[i+1] ) - max( low, sc[i] );
}
int mx = *max_element( rank, rank + size );
int idx = -1;
for(int i=0; i<size; ++i){
if( mx == rank[i] ){
if( idx != -1 )return -1;
idx = i;
}
}
return size - idx - 1;
}
};
0 件のコメント :
コメントを投稿