![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客刷题记录
快学会吧
这个作者很懒,什么都没留下…
展开
-
大鱼吃小鱼
有 N 条鱼每条鱼的位置及大小均不同,他们沿着 X 轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向( 0 表示向左, 1 表示向右)。问足够长的时间之后,能剩下多少条鱼?原创 2024-03-16 10:58:22 · 526 阅读 · 1 评论 -
大数的阶乘
看起来比大数加法还要简洁,但是输出的过程其实不太清楚,记住吧。尤其是我不太明白为什么最后输出用cout就错误了。输入可能包括多组数据,对于每一组输入数据,输出N的阶乘。输入一个正整数N,输出N的阶乘。正整数N(0<=N<=1000)原创 2024-03-07 11:32:02 · 485 阅读 · 0 评论 -
KY111 日期差值
有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。我一开始做的时候想的就是做差值,后来发现考虑的情况太多了,后来看了题解。有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD。原来可以通过每次加一天的方式,让两个日期相等,从而算出差值,秒!也学习到了一种 建立二维数组的方式,从而得出平年闰年的每月的天数。每组数据输出一行,即日期差值。原创 2024-03-03 10:26:53 · 532 阅读 · 0 评论 -
大数的加法
第一步:以字符串的形式将数字接收,随后将其用int数组按位存储下来,注意是逆序存储,方便后面加法的时候对齐。第二步:两个数字按位相加,up存储进位。原创 2024-02-29 10:59:13 · 369 阅读 · 0 评论 -
最大公约数
2、欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。例如:a和b(a>b)的最大公约数是a%b和b的最大公约数。原创 2024-02-19 22:18:33 · 322 阅读 · 1 评论 -
KY160 众数
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。测试数据有多组,每组输入20个1-10之间的数。这不就是408数据结构的经典代码嘛,鄙视我自己了。对于每组输入,请输出1-10中的众数。原创 2024-02-05 01:39:54 · 315 阅读 · 1 评论 -
KY3 约数的个数
输入的第一行为N,即数组的个数(N<=1000) 接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)可能有多组输入数据,对于每组输入数据, 输出N行,其中每一行对应上面的一个数的约数的个数。本题我一开始是最简单的穷举,时间复杂度是O(输入n个整数,依次输出每个数的约数的个数。搜到了另一个复杂度更低的求因数的做法。其次,注意设置的数字类型。原创 2024-02-01 19:40:47 · 387 阅读 · 1 评论 -
KY2 成绩排序
注意一个case里面有多组样例,请用循环处理输入 输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开。其实这道题不难,不能ac是因为我忽略了sort是不稳定的,而题设要求是稳定排序,所以使用的是stable_sort。题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩。按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开。都按先录入排列在前的规则处理。原创 2024-02-01 19:09:12 · 440 阅读 · 1 评论 -
KY90 简单密码
对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。如下是密文和明文中字符的对应关系。一组测试数据包括三部分: 1. 起始行 - 一行,包括字符串 "START" 2. 密文 - 一行,给出密文,密文不为空,而且其中的字符数不超过200 3. 结束行 - 一行,包括字符串 "END" 在最后一组测试数据之后有一行,包括字符串 "ENDOFINPUT"。看见题解才明白,直接用getline(str,cin)输入一行,只将字母进行修改,而非字母的直接落下来就好。原创 2024-01-28 19:55:21 · 343 阅读 · 1 评论 -
KY18 特殊乘法
写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5。输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。这道题应该不难,应该数组或者字符串都能解决,只是一开始没读懂,还是记录一下。两个小于1000000000的数。原创 2024-01-27 22:02:20 · 374 阅读 · 1 评论 -
KY115 后缀子串排序
用str.substr(pos,len)来分割子串,分割下来的字串用vector动态数组存放,再用sort(首元素地址(必填),尾元素地址的下一个地址(必填),比较函数(选填))进行排序。对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain。substr(pos,len)返回从pos位开始,长度为len的字串。本题的关键其实在于熟练掌握STL库。每个案例为一行字符串。原创 2024-01-26 00:07:37 · 473 阅读 · 1 评论