一道很简单的数据结构题目,写的时候不熟悉stl卡着了。。心态炸了
直接上代码吧:
string rankTeams(vector<string>& votes) {
// 二维数组的初始化 给一定的空间 。。 vector<vector<int> > mp(27,vector<int>(27,0)); int Len = votes.size(); int j_size = votes[0].size(); for(int i=0;i<Len;i++) { for(int j=0;j<j_size;j++) { mp[votes[i][j]-'A'][j]++;
// 末尾加上对应的符号,除了修改排序的规则也可以修改每个键对应的值 mp[votes[i][j]-'A'][j_size] = 26-(votes[i][j]-'A'); } } string ans="";
sort(mp.begin(),mp.end(),greater<vector<int>>()); for(int i=0;i<j_size;i++) { ans+=(26-mp[i][j_size]+'A'); } return ans; }