组成字符串ku的最大次数
问题描述:
给定一个字符串 𝑠s,该字符串中只包含英文大小写字母。你需要计算从字符串中最多能组成多少个字符串 "ku"。每次可以随机从字符串中选一个字符,并且选中的字符不能再使用。字符串中的字符大小写可以忽略,即大写和小写字母视为相同。
例如,输入 "AUBTMKAxfuu",从中最多能组成 1 个 "ku"。
思路:直接遍历字符串,分别统计 出现k或K的次数 和 出现u或U的次数 取两者中的最小值即可
小U的数字插入问题 问题描述: *小U手中有两个数字 a 和 b。第一个数字是一个任意的正整数,而第二个数字是一个非负整数。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置,以形成一个最大的可能数字。你需要帮助小U找到这个插入位置,输出插入后的最大结果。 样例1:
输入:
a = 76543, b = 4
输出:765443*
涉及知识点: 1、数字与字符串的转换 转成字符串:to_string() 转成数字:stoi() 2、字符串插入——函数s.insert() 使用方法: insert(i,string)//i指字符串插入后第一个字符所在的位置,想要插入的位置 ,string是指我们想要插入的字符串 3、字符串大小比较 对于单个字母: 小写字母 > 大写字母 对于单个数字: 按照数学比大小规则 对于字符串:从首字符开始比较,当遍历到下标相同但大小不同的字符时,较大字符所在的字符串更大 如:abc > abbb > ABBB
思路 : 将原字符串存储到 temp 中,遍历 temp 字符串的各个位置,尝试将字符插入到各个位置 比较插入后得到的每个字符串的大小
string s=to_string(a);
string s1=to_string(b);
int len=s.length();
string maxx=s;
for(int i=0;i<=len;i++){
string temp=s;
temp=temp.insert(i,s1);
if(temp>=maxx){
maxx=temp;
}
}
return stoi(maxx);
小D的‘abc’变换问题
问题描述:
*小D拿到了一个仅由 "abc" 三种字母组成的字符串。她每次操作会对所有字符同时进行以下变换:
- 将
'a'变成'bc' - 将
'b'变成'ca' - 将
'c'变成'ab'小D将重复该操作k次。你的任务是输出经过k次变换后,得到的最终字符串。 例如:对于初始字符串"abc",执行 2 次操作后,字符串将变为"caababbcbcca"。
思路:进行k次循环(while),每一次循环遍历一次字符串,并用s1存储新的字符串,按题目要求,遇到字符‘a’就s1+"bc" 遇到字符‘b’就s1+"ca" 遇到字符‘c’就s1+"ab" 将s1赋给s 循环结束后 返回s即可
以上叙述若有疑惑,欢迎友友指出~