
Leetcode
算法题解
Anpunph.
这个作者很懒,什么都没留下…
展开
-
Leetcode 2300.咒语和药水的成功对数——向上取整的技巧
对 potions 排序后,就可以二分查找了:设 x=spells[i],j 是最小的满足 potions[j]>⌊success−1 / x⌋ 的下标,由于数组已经排序,那么下标大于 j 的也同样满足该式,这一共有 m−j 个,其中 m 是 potions 的长度。- 第 1 个咒语:1 * [1,2,3,4,5] = [1,2,3,4,5]。- 第 1 个咒语:1 * [8,5,8] = [8,5,8]。- 第 2 个咒语:3 * [1,2,3,4,5] = [3,6,所以返回 [2,0,2]。原创 2024-11-04 20:12:15 · 308 阅读 · 0 评论 -
Leetcode 713.乘积小于k的子数组(不定长滑动窗口(求子数组个数))
给你一个整数数组nums和一个整数k,请你返回子数组内所有元素的乘积严格小于k的连续子数组的数目。88 个乘积小于 100 的子数组分别为:[10]、[5]、[2]、[6]、[10,5]、[5,2]、[2,6]、[5,2,6]。需要注意的是 [10,5,2] 并不是乘积小于 100 的子数组。原创 2024-08-27 18:03:01 · 368 阅读 · 0 评论 -
Leetcode 2799.统计完全子数组的数目(不定长滑动窗口(求子数组个数)
给你一个由整数组成的数组nums。如果数组中的某个子数组满足下述条件,则称之为返回数组中的数目。是数组中的一个连续非空序列。4完全子数组有:[1,3,1,2]、[1,3,1,2,2]、[3,1,2] 和 [3,1,2,2]。10数组仅由整数 5 组成,所以任意子数组都满足完全子数组的条件。子数组的总数为 10。原创 2024-08-27 17:58:36 · 325 阅读 · 0 评论 -
KMP算法的两种实现形式
这个方式下,模式串匹配失败的回退方式是从本身位置的前一个位置处,获取回退位置。"leeto" 没有在 "leetcode" 中出现,所以返回 -1。这个方式下,模式串匹配失败的回退方式是从本身位置,获取回退位置。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。原创 2024-08-12 20:56:48 · 264 阅读 · 0 评论 -
Leetcode 2760.最长奇偶子数组
在这个示例中,我们选择从 l = 1 开始、到 r = 3 结束的子数组 => [2,5,4] ,满足上述条件。在这个示例中,我们选择从 l = 0 开始、到 r = 2 结束的子数组 => [2,3,4]。在这个示例中,我们选择从 l = 1 开始、到 r = 1 结束的子数组 => [2]。因此,答案就是这个子数组的长度 3。可以证明 3 是满足题目要求的最大长度。可以证明 3 是满足题目要求的最大长度。可以证明 1 是满足题目要求的最大长度。以整数形式返回满足题目要求的最长子数组的长度。原创 2024-08-22 18:02:45 · 368 阅读 · 0 评论 -
Leetcode 1456.定长子串中元音的最大数目
"lee"、"eet" 和 "ode" 都包含 2 个元音字母。任意长度为 2 的子字符串都包含 2 个元音字母。的单个子字符串中可能包含的最大元音字母数。子字符串 "iii" 包含 3 个元音字母。字符串 s 中不含任何元音字母。原创 2024-08-19 16:23:27 · 227 阅读 · 0 评论 -
Leetcode 70.爬楼梯
假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?n = 22有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶n = 33有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶。原创 2024-08-16 21:52:12 · 393 阅读 · 0 评论 -
Leetcode 234.回文链表
给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。truefalse[1, 105]你能否用O(n)时间复杂度和O(1)空间复杂度解决此题?原创 2024-08-14 14:28:44 · 511 阅读 · 0 评论 -
Leetcode 8.字符串转换整数 (atoi)
第 3 步:"1337c0d3"(读入 "1337";第 2 步:"1337c0d3"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"0-1" (当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 1 步:"1337c0d3"(当前没有读入字符,因为没有前导空格)第 1 步:"0-1" (当前没有读入字符,因为没有前导空格)第 1 步:"42"(当前没有读入字符,因为没有前导空格)原创 2024-08-12 18:07:53 · 436 阅读 · 0 评论 -
Leetcode 344.反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。原创 2024-08-11 18:05:50 · 347 阅读 · 0 评论 -
Leetcode 206. 反转链表
给你单链表的头节点head,请你反转链表,并返回反转后的链表。原创 2024-08-09 22:31:16 · 427 阅读 · 0 评论 -
Leetcode 1275. 找出井字棋的获胜者
,就返回该游戏的获胜者;如果游戏以平局结束,则返回 "Draw";如果仍会有行动(游戏未结束),则返回 "Pending"。的另一个数组(元素分别对应网格的行和列),它按照。(遵循井字棋规则),网格最初是空的,由于没有办法再行动,游戏以平局结束。)记录了两人各自的棋子位置。"A" 获胜,他总是先走。,其中每个元素是大小为。如果游戏存在获胜者(原创 2024-08-07 15:16:56 · 438 阅读 · 0 评论