网站空间有什么用深圳住房和建设厅网站
网站空间有什么用,深圳住房和建设厅网站,临邑网站制作,网站首页图片素材长图一、题目 二、解题思路 1、使用map#xff0c;key为元素#xff0c;value为出现的次数 2、由于sort不适用于map#xff0c;因此要将map的key、value放到vector中#xff0c;再对vector排序 3、对map排序#xff1a;方法1#xff1a;使用二维数组vectorvector…一、题目 二、解题思路 1、使用mapkey为元素value为出现的次数 2、由于sort不适用于map因此要将map的key、value放到vector中再对vector排序 3、对map排序方法1使用二维数组vectorvector方法2使用一维数组vectorpair 4、注意此题使用的是pair因此要使用make_pair 三、代码 #includeiostream
#includevector
#includestring
#includemap
#includealgorithmusing namespace std;vectorstringsplit(string params) {vectorstringp;while (params.find( ) ! string::npos) {int found params.find( );p.push_back(params.substr(0, found));params params.substr(found 1);}p.push_back(params);return p;
}bool comp(pairchar, inta, pairchar, intb) {if (a.second ! b.second) {return a.second b.second; //优先按次数降序排}else { //出现次数相同的话则再按照ASCII码降序排return a.first b.first;}
}int main() {string input_str;getline(cin, input_str);vectorstringinput_vec split(input_str);int num stoi(input_vec[0]); //每次取几个值int len stoi(input_vec[1]); //每次切割字符串的新增长度int nums input_vec[2].size() / len; //总共切几次string res ;for (int i 0; i nums; i) {string temp input_vec[2].substr(0, len * (i 1)); //每次切割的字符串//key为元素value为出现的次数mapchar, inttemp_map;for (int j 0; j temp.size(); j) {if (temp_map.count(temp[j])) {temp_map[temp[j]];}else {temp_map[temp[j]] 1;}}vectorpairchar, inttemp_vec; //由于要排序所以将map的值放进数组中方便排序for (auto x : temp_map) {temp_vec.push_back(make_pair(x.first, x.second)); //注意此时的make_pair}sort(temp_vec.begin(), temp_vec.end(), comp);for (int k 0; k num; k) {res temp_vec[k].first; //排序完后的数组取num个值由于是pair注意使用.first.second则表示元素出现的次数}}cout res;return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85929.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!