牛客313925129号
牛客313925129号
全部文章
分类
题解(51)
归档
标签
去牛客网
登录
/
注册
牛客313925129号的博客
全部文章
(共51篇)
题解 | #最长上升子序列(一)#
题意理解 在一个数组arr中,我们可以从前往后按照顺序选择一些数字,构成一个子序列a。要求子序列从前往后是严格递增的,即对于任意i<ji<ji<j,必须满足a[i]<a[j]a[i]<a[j]a[i]<a[j]。现在我们要找出所有这样的子序列中,最长长度为多少。 ...
C++
2022-02-17
3
583
题解 | #记票统计#
题意理解 输入分为两部分,第一部分是候选人姓名;第二部分是每张选票对应候选人姓名。如果选票中候选人姓名正确,则对应候选人加一票,否则该票是不合法选票。 方法一 搜索法。 使用name数组存储候选人姓名,vote数组存储对应编号的候选人票数。每输入一张选票,就遍历一遍name数组。如果找到对应候选人,...
C++
2021-12-09
0
325
题解 | #数组分组#
题意理解 把一个数组分成两部分(part1、part2),要求两部分的数字之和相等。其中,所有5的倍数(包括3和5的公倍数)要放在同一部分,其余3的倍数要放在同一部分。 让两部分之和相等,等价于从数组中找到一些数,使其和等于总和sum的一半。 方法一 深度优先搜索。 对于每一个数,有2种情况:放入p...
C++
2021-12-09
10
1005
题解 | #在字符串中找出连续最长的数字串#
题意理解 在字符串中找到长度最大的数字子串,如果有多个数字子串长度相等且最大,则按其在字符串中的顺序一次输出。数字子串指由数字连续构成的子串。 方法一 模拟,双指针。从左到右扫描字符串,并重复一下操作: 1、遇到一个数字字符,位置为i,暂停; 2、从i开始往后扫描,直到遇到非数字字符,位置为j; 3...
C++
2021-11-27
10
653
题解 | #走方格的方案数#
题意理解 格子是有m行n列,沿着格子的边,从左上角走到右下角,每次只能向右或者向下走。我们是从一个点到另一个点,不是从格子到格子。 方法一 使用递推的方法。我们用数对(i,j)表示点的位置。每一个点只可能从它的左边或者上面走一步过来,所以到点(i,j)的走法总数等于到达点(i-1,j)和(i,j-1...
C++
2021-11-25
0
904
题解 | #合法IP#
题意理解 IP地址作为一个字符串输入,要判断其是否合法,即判断每个数字是不是处于0/~255之间。 方法一 从左向右遍历字符串,按照字符'.'就将字符串分隔成4个子串,用stoi()函数将其转化为数字,然后再判断每个数字是否出于0/~255之间,有一个不处于,则该IP地址不合法。 同时,要判断是否分...
C++
2021-11-21
4
887
题解 | #进制转换#
题意理解 输入十六进制的数(以字符串的形式),将其转换成十进制数并输出。 方法一 十六进制数最前面两个字符是“0x”,不需要识别。其余字母中,A~F分别代表10~15。从右往左看,最低位要乘以16016^0160,倒数第二位要乘以16116^1161,以此类推。最后将每一位转化的结果求和即可。过程如...
C++
2021-11-20
16
795
题解 | #字符串分隔#
题意理解 对于每个输入的字符串,从前往后每8个字符为一行输出,最后如果不满8个则用“0”补齐。 方法一 使用while()循环读入字符串。每次输出字符串前8个字符,再用erase()方法将对应字符删除,直到剩余的字符个数小于8。 具体代码如下: #include<iostream> #i...
C++
2021-11-02
9
591
题解 | #明明的随机数#
题意理解 得到一个数组,将其中重复出现过的数字只保留一个,然后将剩余的数字从小到大排序。 方法一 读入的时候会有多组数据,我们用while()循环读入n,再读入数组中的n个数。 使用一个rp数据记录一个数是否出现过。如果出现过,就不加入数组num中去。最后使用sort()函数进行排序即可。 具体代码...
C++
2021-10-27
0
320
题解 | #计算某字母出现次数#
题目理解 求一个字符串(可能包含空格)中给定字母出现的次数,其中字母大小写视为同一个字母。 方法一 使用getline()函数进行整行的字符串读入。 从左到右遍历字符串,比较每个字符与给定字符是否相同。对于字母的大小写问题,我们取得对应的ASCII值,比较差的绝对值是否为32。 具体代码如下: #i...
C++
2021-10-26
1
554
首页
上一页
1
2
3
4
5
6
下一页
末页