集训Day02笔记总结(关于一些OJ题目的)
今天的这个OJ主要是和字符串相关的几个题目
1.题目总结
下面的这个是对于我们的输入的字符串里面的指定的字符进行替换的题目:
在针对于这个问题的求解里面,我们使用的是下面的这个方法:
首先是输入我们的n表示的就是这个标语的个数,使用find函数找到这个对应的标语,然后确定这个对应的需要替换的这个字符串所在的位置,记录在这个pos变量里面去;
使用replace函数进行这个字符串的替换,其中这个pos表示我们从哪一个位置开始替换,需要替换的字符串的长度是11,也就是说我们的这个ban_smoking字符串的长度是11,第三个参数就是这个需要替换的这个字符串的内容;
下面的这个题目是按照这个字母顺序,对于我们输入的这个字符串进行排序的题目:
针对于这个问题的求解,我们使用的是sor函数进行排序的,使用循环分别控制这个输入和输出的过程:中间使用这个sort函数进行排序即可;
下面的这个是上午的历史遗留问题:主要就是关于这个字符串的输出的相关的问题;
主要就是针对于这个类型的不同形状的这个数据的打印输出的问题;
下面的这个是两次的代码拼接组成的,左边的这个表示的是我们的一个情况,右边的这个表示的是课堂上面拓展的另外一个情况,其实本质上面都是一样的,你会发现这两个的不同的地方就在于我们的这个for循环里面的三个for循环当中的这个cout里面的这个j前面乘上的这个系数是不一样的;
下面的这个就是一个长长的这个字符串里面的这个不同类型的这个字符的具体的统计的情况;
下面的这个是具体的:分别使用这个分支循环语句判断出来这个具体的不同类型的要求的具体的数量,并且使用不同的计数器对于这个数量进行统计;
下面的这个是桶排序的题目,因此我觉得有必要写一下:
题目非常的抽象,但是非常可惜的是你必须要读懂这个题目,否则光看这个测试数据你也看不懂这个题目需要做什么,所以还是阅读以下这个题目的具体的内容把:
下面的这个是具体的测试的用例:其实这个输出的2就是94的数量,因为这个98只有一个,不符合这个题目里面的最小值2的要求,因此被舍弃掉了;
下面的这个是我们的具体的桶排序的操作方法,其实这个思想非常的简单:
#include<iostream>
using namespace std;
int main()
{int m, n, num[105]={0};cin >> m;for (int i = 0; i < m; i++){int temp;cin >> temp;num[temp]++;}cin >> n;for (int i = 100; i > 0; i--){if (num[i] >= n){cout << num[i] << endl;break;}}return 0;
}