- 博客(34)
- 收藏
- 关注
原创 LeetCode例题讲解:739.每日温度
又由于遍历到温度列表中的每个元素时都会更新数组 next 中的对应温度的元素值,因此对于任意 t,当 next[t] 不为无穷大时,令 j = next[t],则 j 是满足 temperatures[j] == t 且 i < j 的最小下标。对于每个元素 temperatures[i],在数组 next 中找到从 temperatures[i] + 1 到 100 中每个温度第一次出现的下标,将其中的最小下标记为 warmerIndex,则 warmerIndex 为下一次温度比当天高的下标。
2024-05-13 18:04:08
454
原创 LeetCode例题讲解:781.森林中的兔子
那么还有一只额外的兔子回答 555,这只兔子只能是其他的颜色,这一颜色的兔子也有 666 只。因此,将 answers\textit{answers}answers 中值相同的元素分为一组,对于每一组,计算出兔子的最少数量,然后将所有组的计算结果累加,就是最终的答案。一般地,如果有 x 只兔子都回答y,则至少有 ⌈x/y+1⌉种不同的颜色,且每种颜色有 y+1 只兔子,因此兔子数至少为 ⌈x/y+1⌉*y。因此森林中兔子的最少数量是 5 只:3 只回答的和 2 只没有回答的。,返回森林中兔子的最少数量。
2024-05-13 17:45:33
415
原创 LeetCode例题讲解:1190.反转每队括号间的字符串
请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。先反转子字符串 "oc" ,接着反转 "etco" ,然后反转整个字符串。先反转子字符串 "love" ,然后反转整个字符串。首先先写一个反转函数,用于字符串反转。(仅含有小写英文字母和括号)。
2024-05-13 17:06:50
331
原创 LeetCode例题讲解:45.跳跃游戏Ⅱ
其实本题的核心是不要关心跳几步,关键在于以当前为起点可跳的覆盖范围。因此问题转化为跳跃覆盖范围可不可以覆盖到终点,每次取最大跳跃步数(取最大覆盖范围),最后看最大覆盖范围,看是否能到终点,可以用贪心的方法解决这个问题。跳到最后一个位置的最小跳跃数是2. 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。最优子结构:规模较大的问题的解由规模较小的子问题的解组成,规模较大的问题的解只由其中一个规模较小的子问题的解决定;若当前覆盖最远距离下标不是是终点,步数就加一,还需要继续走。
2024-05-13 13:06:23
305
原创 LeetCode例题讲解:844.比较含退格的字符串
两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回。s 会变成 "c",但 t 仍然是 "b"。如果对空文本输入退格字符,文本继续为空。首先需要先写出经过退格处理后的字符串。s 和 t 都会变成 "ac"。之后写出另一个,并使两者加以比较。s 和 t 都会变成 ""。
2024-05-11 11:18:47
269
原创 LeetCode例题讲解:876.链表的中间结点
之后就可以创建新的链表头,并使其一点点移动到length/2的位置,之后将其回传。该代码主要讲解了c语言链表的应用,首先先遍历链表,求出链表的长度。该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。如果有两个中间结点,则返回第二个中间结点。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。
2024-05-10 22:27:28
233
原创 LeetCode例题讲解:3005最大频率元素计数
元素 1 和 2 的频率为 2 ,是数组中的最大频率。因此具有最大频率的元素在数组中的数量是 4。数组中的所有元素的频率都为 1 ,是最大频率。因此具有最大频率的元素在数组中的数量是 5。是指该元素在数组中出现的次数。
2024-05-09 22:42:16
293
原创 LeetCode例题讲解:买卖股票的最佳时机 Ⅱ
随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。或 maxProfit【7,1,5】+(3-6)若数组为【7,1,5,3,6,4】
2024-05-09 21:03:04
496
原创 LeetCode例题讲解:移动044
但会遇到一个问题,如果循环一次,当两个零连续时,则无法继续,默认为成功。若去除for中的break,则可以一个循环找出多个错误,加快一些时间。因此需要不断必须循环判断,当全部成立时方可停止循环判断。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。但该循环时间复杂度过大,需加以改进。,编写一个函数将所有。
2024-05-09 16:28:35
262
原创 LeetCode例题讲解:最大子数组和
请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。之后开始for循环,计算任意两端的值,并取出最大值。发现若数组为-1则无法通过,需改进max初始值。首先计算任意开头和结尾,计算其中间的数值和。而后则发现超出时间限制,需要再加以改进。是数组中的一个连续部分。
2024-05-07 22:19:53
343
原创 LeetCode例题讲解:快乐数
之后加上条件判断,当该数之前出现过时,则退出循环,未出现过则继续。中间添加了一个条件判断,需要判断该数在之前有没有出现过。实际上history最大只有9*9*10次,即810;之后开始按照题目对其计算平方和,将代码封装起来。之后简化算法,利用龟兔赛跑,寻找重复数。编写一个算法来判断一个数。
2024-05-07 21:24:10
581
1
原创 LeetCode例题讲解:只出现一次的数字
给你一个整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
2024-05-07 16:17:55
560
原创 C++ Primer Plus 代码学习解析(第六章 6.13-6.16)
【代码】C++ Primer Plus 代码学习解析(第六章 6.13-6.16)
2024-04-24 16:21:26
689
原创 C++ Primer Plus 代码学习解析(第六章 6.6-6.8)
【代码】C++ Primer Plus 代码学习解析(第六章 6.6-6.8)
2024-04-23 17:00:12
507
1
原创 C++ Primer Plus 代码学习解析(第六章 6.4-6.5)
【代码】C++ Primer Plus 代码学习解析(第六章 6.4-)
2024-04-23 16:33:08
413
1
原创 C++ Primer Plus 代码学习解析(第六章 6.1-6.3)
【代码】C++ Primer Plus 代码学习解析(第六章 6.1-6.3)
2024-04-22 17:13:47
1526
原创 C++ Primer Plus 代码学习解析(第五章 5.16-5.20)
cin.fail()用来读取结束条件EOF(检测文件尾)一般PC编程系统将ctrl+z视作结束条件。
2024-04-22 16:46:46
444
原创 C++ Primer Plus 代码学习解析(第五章 5.13-5.15)
【代码】C++ Primer Plus 代码学习解析(第五章 5.13-5.15)
2024-04-21 17:19:15
280
1
原创 C++ Primer Plus 代码学习解析(第五章 5.6-5.12)
【代码】C++ Primer Plus 代码学习解析(第五章 5.6-5.12)
2024-04-21 16:58:10
403
1
原创 C++ Primer Plus 代码学习解析(第五章 5.1-5.5)
【代码】C++ Primer Plus 代码学习解析(第五章 5.1-5.5)
2024-04-21 15:46:49
503
1
原创 C++ Primer Plus 代码学习解析(第四章 4.23-4.24)
【代码】C++ Primer Plus 代码学习解析(第四章 4.23-4.24)
2024-03-29 22:48:43
178
1
原创 C++ Primer Plus 代码学习解析(第四章 4.19-4.22)
该代码主要探究数组名也是第一个元素的地址pw与ps两者实现的方式不同,但结果相同,pw+1其地址值加8(元素类型的大小),以便指针指向下一个元素。
2024-03-29 22:42:20
598
1
原创 C++ Primer Plus 代码学习解析(第四章 4.14-4.18)
【代码】C++ Primer Plus 代码学习解析(第四章 4.14-4.)
2024-03-29 21:26:16
281
1
原创 C++ Primer Plus 代码学习解析(第四章 4.11-4.13)
【代码】C++ Primer Plus 代码学习解析(第四章 4.11-4.13)
2024-03-29 20:59:37
331
1
原创 C++ Primer Plus 代码学习解析(第四章 4.7-4.10)
【代码】C++ Primer Plus 代码学习解析(第四章 4.7-4.10)
2024-03-29 20:44:15
443
1
原创 C++ Primer Plus 代码学习解析(第四章 4.3-4.6)
【代码】C++ Primer Plus 代码学习解析(第四章 4.3-4.6)
2024-03-29 15:57:12
363
1
原创 C++ Primer Plus 代码学习解析(第四章 4.1-4.2)
【代码】C++ Primer Plus 代码学习解析(第四章 4.1-4.2)
2024-03-28 22:30:02
248
1
原创 C++ Primer Plus 代码学习解析(第三章 3.12-3.14)
【代码】C++ Primer Plus 代码学习解析(第三章 3.12-3.)
2024-03-28 11:33:04
342
1
原创 C++ Primer Plus 代码学习解析(第三章 3.8-3.11)
【代码】C++ Primer Plus 代码学习解析(第三章 3.8-3.7)
2024-03-28 11:11:35
273
1
原创 C++ Primer Plus 代码学习解析(第三章 3.5-3.7)
【代码】C++ Primer Plus 代码学习解析(第三章 3.5-3.7)
2024-03-27 22:15:27
257
1
原创 C++ Primer Plus 代码学习解析(第三章 3.1-3.4)
【代码】C++ Primer Plus 代码学习解析(第三章 3.1-3.4)
2024-03-27 21:40:53
224
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人