- 博客(14)
- 收藏
- 关注
原创 LeetCode打开第十四天:540:有序数组中单一元素(C++)
可能需要利用数组的有序特性采用二分查找等其他更复杂的方法)和。,因为是线性遍历整个数组,但对于这个问题如果要严格达到。空间复杂度,因为只使用了一个额外的变量。时间复杂度(实际上这里是。这种方法满足了题目要求的。
2024-11-10 22:21:27
340
原创 LeetCode打开第十三天:3255:长度为k的子数组的能力值II(C++)
【代码】LeetCode打开第十三天:3255:长度为k的子数组的能力值II(C++)
2024-11-07 22:40:35
199
原创 LeetCode打开第十二天:3254:长度为k的子数组的能力值I(C++)
【代码】LeetCode打开第十二天:3254:长度为k的子数组的能力值I(C++)
2024-11-06 22:32:49
243
原创 LeetCode打开第十天:3222:求出硬币游戏的赢家(C++)。
要找到游戏的赢家,需要模拟两位玩家轮流采取操作并按照最优策略进行判断。为此,每轮操作时,玩家会尽可能优先消耗 75 的硬币(减少。的数量)凑足所需的 115 面值。如果无法完成该组合,则当前玩家输掉游戏。的数量),并用 10 的硬币(减少。
2024-11-05 22:22:16
393
原创 LeetCode打开第九天:3266: 使两个整数位相等的位更改次数(C++)。
该算法利用位运算逐位比较和修改,时间复杂度为O(log n),适用于中等大小的整数。
2024-11-02 20:18:33
181
原创 LeetCode打开第八天:3259: 超级饮料的最大强化能量(C++)。
该算法通过动态规划实现交替选择不同饮料的最大能量计算,将复杂度降低为O(n),适合大数据量的输入。
2024-11-01 22:46:18
390
原创 LeetCode打开第七天:3165: 不包含相邻元素的子序列的最大和(C++)。
利用了线段树的优势,在动态维护nums时,可以快速获取不包含相邻元素的子序列的最大和。通过SegNode结构,记录了每个区间的不相邻元素组合的最大和,实现了高效查询和更新。
2024-10-31 22:34:05
367
原创 LeetCode打开第六天:3216: 交换后字典序最小的字符串(C++)。
给你一个仅由数字组成的字符串s,在最多交换一次且具有相同的数字后,返回可以得到的字典序最小的字符串。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。"43520"和都具有相同的奇偶性,交换它们可以得到字典序最小的字符串。s = "001""001"无需进行交换,因为s已经是字典序最小的。
2024-10-30 22:27:42
254
原创 LeetCode打开第五天:3211: 生成不相零的二进制字符串(C++)。
这段代码的目的是生成长度为n的所有可能二进制字符串,但要求这些字符串中没有相邻的1。例如,当n = 3时,输出可以是"000""010""101"等字符串,而像"011"和"110"这样的字符串会被排除。
2024-10-29 22:37:25
323
原创 LeetCode打开第四天:685: 冗余连接II(C++)。
这个算法的核心思想是通过图的构建与遍历,结合对根节点的检测和 DFS 的使用来找到冗余的边,确保最终的结果是一个有效的有根树。
2024-10-28 22:38:10
278
原创 LeetCode打开第三天:684: 冗余连接(C++)。
这是一个经典的,我们需要找到在给定的一棵树中添加一条边后,导致图变成一个环的那条边。目标是找出可以删除的边,使得图恢复成一棵树。
2024-10-27 22:30:24
236
原创 LeetCode打开第二天:3180: 执行操作可获得的最大奖励I(C++)。
我们可以使用动态规划算法来解决这个问题。使用动态规划算法找到 数组中可以选取的奖励值之和的最大值。其思路是借助一个二维数组 来记录到第 个奖励时,累计奖励和为 时能获得的最大奖励。代码的详细思路如下:去重和排序:动态规划数组定义:初始状态:状态转移:最终结果:
2024-10-25 23:00:31
264
原创 LeetCode打开第一天:3175: 找到连续赢k场比赛的第一位玩家(C++)。
LeetCode打开第一天:3175: 找到连续赢k场比赛的第一位玩家(C++)。
2024-10-24 23:05:42
226
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅