营销型网站建设服务,锦绣大地seo官网,广西网站建设招标公司,网站推广方式主要通过根据字符出现频率排序
【问题描述】
给定一个字符串 s #xff0c;根据字符出现的 频率 对其进行降序排序。一个字符出现的频率是它出现在字符串中的次数。
返回已排序的字符串。
频率相同的的字符按ascii值降序排序。
s不包含空格、制表符、换行符等特殊字符。
【输入格…根据字符出现频率排序
【问题描述】
给定一个字符串 s 根据字符出现的 频率 对其进行降序排序。一个字符出现的频率是它出现在字符串中的次数。
返回已排序的字符串。
频率相同的的字符按ascii值降序排序。
s不包含空格、制表符、换行符等特殊字符。
【输入格式】
输入一个字符串
【输入样例】
tree
【输出样例】
eetr
【样例说明】
e出现两次r和t均只出现一次。
因此e必须出现在r和t之前。r和 t 同频次则按ascii降序须将t排前面结果为eetr
#include bits/stdc.h
using namespace std;string frequencySort(string s) {mapchar, int freq;for (char c : s) {freq[c];}sort(s.begin(),s.end(),[](char a,char b)
{return freq[a]freq[b]||(freq[a]freq[b]ab);});return s;
}int main() {string s;cin s;string sortedString frequencySort(s);cout sortedString endl;return 0;
}[](char a, char b) { ... } 是一个 lambda 表达式用于定义一个匿名函数也称为闭包。在这个上下文中[] 是捕获列表表示捕获外部所有变量的引用。 具体解释一下 []捕获列表这里的 表示以引用的方式捕获外部变量。所有外部变量在 lambda 函数中都可以被引用而不是复制它们的值。这样做可以让 lambda 函数访问外部的变量比如在这里我们使用了 freq。(char a, char b)lambda 函数的参数列表这里定义了两个参数 a 和 b它们将在 lambda 函数中被使用。{ ... }lambda 函数的函数体其中包含实际的函数逻辑。 2.胡润富豪榜首富
【问题描述】
胡润百富是追踪记录中国企业家群体变化的权威机构是由出生于欧洲卢森堡的英国注册会计师胡润先生于1999年创立的。现在一年一度的胡润中国富翁榜是现在国内财经榜单里影响最大的一个榜单。请根据一组胡润富豪榜上的数据挑选出首富。
【输入形式】
有多行。第一行包含一个整数N (1 N ≤ 20)表示有N位候选人要从中选出排名第一的富豪接下来N行分别是N位候选人的名字和财产整数单位亿元。名字是由不超过20个字母组成的字符串不含空格任意两个人的财产都不一样。
【输出形式】输出排名第一的富豪的名字和财产。
【样例输入】
5
MaYun 2750
MaHuaTeng 2600
XuJiaYing 2100
HuangZheng 1350
DingLei 1250
【样例输出】MaYun 2750
【样例说明】财产排名第一的为MaYun所以输出其名字和财产。 【提示】可使用标准库中的sort函数 #include iostream
#include vector
#include algorithmusing namespace std;struct RichPerson {string name;int wealth;};
int main() {int n;cin n;
// vectorRichPerson candidates(n);RichPerson candidates[n];for (int i 0; i n; i) {cin candidates[i].name candidates[i].wealth;}sort(candidates, candidatesn,[](RichPerson a,RichPerson b){return a.wealthb.wealth;});cout candidates[0].name candidates[0].wealth endl;return 0;
}或者使用 vectorRichPerson candidates(n);注意 n 两侧是小括号
来创建对应容器但注意此时 sort 内要改为 candidates.begin(), candidates.end() 而不是之前RichPerson candidates[n];注意 n 两侧是中括号 对应的 candidates, candidatesn