
Leetcode
文章平均质量分 63
阿呆想你了
这个作者很懒,什么都没留下…
展开
-
【Leetcode】141. 环形链表
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。围绕操场长跑,跑的快的能拉慢的好几圈,他们会相遇好几次。由此,我们可以得出结论,只要有圈,就能相遇。慢的走一步,快的走两步。输入:head = [3,2,0,-4], pos = 1。输入:head = [1,2], pos = 0。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。输入:head = [1], pos = -1。,判断链表中是否有环。解释:链表中没有环。原创 2024-12-20 16:06:26 · 164 阅读 · 0 评论 -
【Leetcode】150. 逆波兰表达式求值
tokens[i] 是一个算符(“+”、“-”、“*” 或 “/”),或是在范围 [-200, 200] 内的一个整数。输入:tokens = [“10”,“6”,“9”,“3”,“+”,“-11”,“该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * )。解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。输入:tokens = [“4”,“13”,“5”,“/”,“+”]输入:tokens = [“2”,“1”,“+”,“3”,“*”]原创 2024-12-16 18:07:04 · 423 阅读 · 0 评论 -
【Leetcode】3. 无重复字符的最长子串
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。需要思考清楚双指针优化的是哪一部分。每次移动一步好实现,for循环即可。题目如果用经典的双for循环去解,对于。使用双指针进行处理的时候,在出现重复字符的时候移动,原创 2024-12-16 11:23:24 · 423 阅读 · 0 评论 -
【Leetcode】2. 两数相加
输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]给你两个 非空 的链表,表示两个非负的整数。这个题注意,给出的链表和最后的结果都是逆序,直接向后进位即可。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储一位数字。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]输出:[7,0,8]原创 2024-10-22 17:14:46 · 268 阅读 · 0 评论 -
【Leetcode】36. 有效的数独
最后遍历整个矩阵,按照判断条件每个数据只能出现一次,如果现有的hash表中已经有数据了,则说明重复;紧扣定义,格子数量为9*9,但是实际数据的信息量是1-9这个9个数字,那么使用长度为9的数据结构,就可以将1-9这9个数据完成哈希。是一种将任意长度的数据映射为固定长度的数据的方法。因为题目中要求每一行中1-9只能出现一次,任意一行我们都需要一个长度为9的数组来记录每个数字出现的次数,即需要。行数为row,列数为column,小九宫格个数为board。所以需要长度为9的数组来记录每个数字出现的次数。原创 2024-10-22 14:55:26 · 941 阅读 · 0 评论 -
【Leetcode】167. 两数之和 II - 输入有序数组
如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。因此 index1 = 1, index2 = 2。返回 [1, 2]。因此 index1 = 1, index2 = 2。如果 target = 12,在计算完1+9<12之后,1+8, 1+7…原创 2024-10-11 17:57:31 · 366 阅读 · 0 评论 -
【Leetcode】122. 买卖股票的最佳时机 II
只用在价格为1的时候买入,价格为6卖出,就是这个区间的最大收入,也就是1+4。解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。原创 2024-10-10 14:20:53 · 372 阅读 · 0 评论 -
【Leetcode】121. 买卖股票的最佳时机
具体操作就是找到当前遍历过的数组中的最小值,每个prices[i] 只用比较1次或者2次,那么时间复杂度可以直接被优化到O(n)解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。这里面很显然2到10的增长是大于4到10的,那么4和9,10,11的比较就是无意义,因此就可以优化4和之后的值的比较。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。输入:[7,1,5,3,6,4]原创 2024-10-09 17:38:13 · 409 阅读 · 0 评论 -
【Leetcode】26. 删除有序数组中的重复项
双指针、数组原创 2024-08-30 16:01:21 · 393 阅读 · 1 评论