Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 1.62 KB

2934.md

File metadata and controls

61 lines (47 loc) · 1.62 KB

插入 2934: 字符串插入

题目要求在给定字符串中的某处插入另一字符串。

题目来源

2934: 字符串插入

总时间限制: 1000ms 内存限制: 65536kB

描述

有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的'\0'。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。

输入

输入包括若干行,每一行为一组测试数据,格式为

str substr

输出

对于每一组测试数据,输出插入之后的字符串。

样例输入

abcab eee
12343 555

样例输出

abceeeab
12345553

string类型库给出了相应的函数来在字符串中插入字符串,我们仅需从头遍历到ASCII码最大的位置即可。

#include <iostream>
#include <string>
using namespace std;
int main() {
	string str, substr;
	while (cin >> str >> substr) {
		int i, pos = 0;
		char mc = 0;
		for (i = 0; i < str.length(); ++i) {
			if (str[i] > mc) {
				mc = str[i];
				pos = i;
			}
		}
		str.insert(pos + 1, substr);
		cout << str << endl;
	}
	return 0;
}

2934.cpp 代码长度:328B 内存:136kB 时间:2ms 通过率:92% 最小内存:136kB 最短时间:0ms

在遍历到最大ASCII码位置时,要记录第一次的下标,通过大于号比较,使得不会再遍历到同样大小的ASCII码,插入可使用string函数insert。

有任何的改进意见欢迎大家在微信平台公众号主页面留言或者发表issue。