- 博客(9)
- 收藏
- 关注
原创 leetcode3259超级饮料的最大强化能量
从 i=0 开始,要么选 a[i],要么选 b[i]。如果你当前选了 a 中的元素,后面想选 b 中的元素,那么下一个元素必须不能选。例如现在选 a[i],那么后面可以选 b[i+2],但不能选 b[i+1]。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而,如果从一种能量饮料切换到另一种,你需要等待一小时来梳理身体的能量体系(在那个小时里你将不会获得任何强化能量)。返回在接下来的 n 小时内你能获得的 最大 总强化能量。
2024-11-01 17:27:33
340
原创 leetcode3165不包含相邻元素的子序列的最大和
对于每个查询 i,首先将 nums[posi] 设置为 xi,然后计算查询 i 的答案,该答案为 nums 中 不包含相邻元素 的。对于修改操作,我们可以用线段树的单点修改实现,线段树的每个节点维护对应区间的 f 00 ,f 01,f 10 ,f 11。对于查询操作,由于询问的是整个数组,询问结果就是线段树根节点的 f 11 ,累加到答案中。子序列 是指从另一个数组中删除一些或不删除元素而不改变剩余元素顺序得到的数组。由于最终答案可能非常大,返回其对 10的九次方 + 7 取余 的结果。
2024-10-31 11:53:49
233
原创 leetcode3216交换后字典序最小的字符串
2.交换的位置越靠左越好。比如示例 1 的 45320,交换 5 和 3 得到 43520,而交换更靠右的 2 和 0 得到 45302,这比 43520 更大。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。1.交换的两个数字,左边必须大于右边,否则交换不会使字典序变小。
2024-10-30 11:43:52
405
原创 【无标题】
如果一个二进制字符串 x 的所有长度为 2 的子字符串中包含 至少 一个 “1”,则称 x 是一个 有效 字符串。填 0,需要满足 i=0,或者 i−1 这个位置(前一个位置)填的是 1。返回所有长度为 n 的 有效 字符串,可以以任意顺序排列。填完后,继续往下递归,考虑 i+1 怎么填。从 i=0 开始递归,到 i=n 结束。填 1,没有任何约束,可以直接填。给你一个正整数 n。
2024-10-29 17:18:11
186
原创 leetcode冗余连接Ⅱ
我们首先计算每个节点的入度,如果存在入度为 2 的节点,我们定位到该节点对应的两条边,分别记为 dup[0] 和 dup[1]。如果在删除 dup[1] 之后,剩余的边无法形成树,则说明 dup[0] 是需要删除的边;如果不存在入度为 2 的节点,我们遍历数组 edges,对于每条边 (u,v),我们使用并查集维护节点之间的连通性。如果 u 和 v 已经连通,说明图中存在有向环,此时当前边即为需要删除的边。1.不存在入度为2的边,必定存在有向环。2.存在入度为2的边,不存在有向环。
2024-10-28 20:37:57
464
原创 leetcode 684冗余连接
否则的话,有相同的根节点,说明是属于同一个并查集,则这条边是多余的,直接返回。如果一条边的两个节点在并查集中有着不同的根节点,合并两个节点的并查集。其实就是判断是否为一个有环图。使用并查集很容易解决。
2024-10-27 19:43:43
251
原创 leetcode3175. 找到连续赢 K 场比赛的第一位玩家
后面想到遍历一遍就行,用maxidx记录当前最大元素,用win_number记录赢的次数。思路:一开始想用队列,但样例过不了,超时了。
2024-10-24 14:55:55
253
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅