- 博客(125)
- 收藏
- 关注
原创 【二维前缀和洛谷】P1719 最大加权矩形
本题与之前二维前缀和的区别是需要求出最大值,也就是要遍历矩阵,之前给出x1,y1,x2,y2求一个值,现在所有值都要求一遍,因此需要用四层循环。
2025-03-16 20:36:28
206
原创 【并查集】相似字符串组
是否属于相似只要判断是否有两个位置不同或者所有位置都相同即可,如果两个数组相似,进一步判断是否已经属于同一组,如果属于就不用管,如果不属于要把他们并在一起,先让数量更新,再更新一个的祖先,最后输出组数时只需判断祖先是否为自己就能知道组数。因为每组只有一个元素祖先为自己。
2025-03-14 23:01:24
317
原创 【pta】1008 数组元素循环右移问题(数组翻转)
与字符串翻转相区别。字符串翻转:reverse(a.begin(),b.end());数组翻转:reverse(begin(a),begin(a)+n)先将整个字符串翻转,再分两段翻转就得到答案。
2025-03-12 12:51:06
116
原创 【pta】1003 我要通过!
申请map,存储字母的数量。符合条件的字符串需要满足以下几个条件:1.必须有一个P和一个T;2.P和T中间至少有一个A;3.P前面的A数量乘中间A的数量必须等于T后面A的数量。
2025-03-11 21:04:30
254
原创 【牛客】Sliding Window滑动窗口(双端队列deque)
以求最小值为例,申请一个双端队列q1,然后遍历输入的元素,只要队列不为空并且对头元素位置小于i-k+1,就表示已经出窗口了,就要弹出队头元素,然后判断只要非空并且i所指元素小于队尾元素,就把队尾元素出队,最后把新元素入队。输出时只有当i>=k-1时才会输出元素。
2025-03-10 21:03:26
146
原创 【pta】1064 朋友数(数组去重)
先把所有数字转为字符串,把各个位加起来从小到大排序,接着需要去重,把相同的元素只保留一个,只需要比较当前元素和下一元素是否相等,如果不相等才能存入数组中。
2025-03-09 21:23:50
94
原创 【pta】1060 爱丁顿数
一开始看这个题干就是绕不明白了,e天超过e英里,找e的最大值,可以先对路程排序,从大到小,因为排在第一个的一定符合e天超过e英里,此时的e为0,以此类推,第二个路程如果符合1天超过1英里,那就继续往后找,直到找到天数最多的一个。
2025-03-09 10:36:21
239
原创 【pta】1059 C语言竞赛
申请数组a存储排名,再分别对排名进行判断。如果输出过,就把排名标记为-1,所以先判断排名是否为-1。注意如果找不到就直接continue,就不让排名设为-1了。
2025-03-08 20:13:49
211
原创 【牛客】二分 糊涂的裁判
本质是差分,和二分无关。裁判说数大了,那么裁判说对的取值范围是(-∞,a],裁判说数小了,那么裁判说对的取值范围是[a,+∞),裁判说数一样,那么裁判说对的取值范围是[a,a],求最大有多少个区间重叠。
2025-03-08 11:39:04
162
原创 【牛客 差分前缀和】NC16649校门外的树
本质就是用差分和前缀和的思想,先把每棵树存入数组a中,并都赋值为0,然后构造数组b,数组b就是数组a的差分,对数组b的l和r+1两个点进行操作,再用数组b把a表示出来,每次操作都加1,最后统计为0的个数即可,也就是没有操作过的,剩余的树的数量。
2025-03-07 19:57:27
337
原创 【pta】1053 住房空置率
count1要在外层for循环里,每输入一行都要更新为0。输出时先把次数转为double类型再除以n,因为double除以int得到的是double。
2025-03-06 22:51:38
287
原创 【pta】1055 集体照
定义一个结构体存储姓名和身高,用vector存储结构体,然后把数据先按照身高递减排序,身高相同的按照名字小的在前,所以要定义一个排序函数。排完序后开始输出,先判断每行的人数,只有最后一行不同,每行的人数定为m,在申请一个数组存储每行的人名,按照排序的顺序第一个数赋值给中间的位置,然后从中间的左边开始赋值,每次i+2,因为是一次左一次右赋值,左边赋值完再赋右边。
2025-03-06 20:34:58
230
原创 【贪心】738. 单调递增的数字
从最后一位倒着看,只要找到前一位比后一位大的就让前一位的数减一,flag记录后一位,表示要变为9,一直找到最前面前一位比后一位大的,标记flag,然后用for循环从flag的位置开始置为9。
2025-03-06 19:15:06
100
原创 【pta】1048 数字加密
一开始没考虑到如果a和b不一样长要补0,只得16分,加上之后就可以了。一开始也没想到用reverse翻转字符串,用的定义的for循环翻转比较麻烦。
2025-03-06 13:31:56
145
原创 【贪心】376. 摆动序列
curdiff记录当前差值,prediff记录前一个差值。只需要在 这个坡度 摆动变化的时候,更新 prediff ,这样 prediff 在单调区间有平坡的时候 就不会发⽣变化。
2025-03-06 10:23:56
163
原创 【贪心】455. 分发饼干
用小饼干满足小胃口,for遍历饼干,判断如果饼干满足胃口,让胃口后移,饼干也后移;如果不满足,胃口不动,饼干后移,找到更大的饼干。
2025-03-06 09:48:50
196
原创 【pta】1045 快速排序
找主元可以先找到与排好序的位置一样的元素,并且比左边所有的元素值都大,因此要对元素排序,排好序之后找与原序列位置一样的元素,并且判断与max的关系。
2025-03-05 22:07:32
220
原创 【算法】491. 非递减子序列
在⼦集II中通过排序,再加⼀个标记数组来达到去重的⽬的。⽽本题求⾃增⼦序列,不能对原数组进⾏排序的,排完序的数组都是⾃增⼦序列了。
2025-03-05 19:41:41
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人