
算法
文章平均质量分 53
个人算法记录
沉淀1958
这个作者很懒,什么都没留下…
展开
-
算法-三数之和
不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。答案中不可以包含重复的三元组。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。,判断是否存在三元组。原创 2024-02-08 19:03:18 · 340 阅读 · 0 评论 -
算法-无重复字符的最长子串
PS:当依次递增地枚举子串的起始位置时,如果子串的结束位置也是递增,那么可以使用滑动窗口来解题。,请你找出其中不含有重复字符的。请注意,你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。,所以其长度为 3。原创 2024-02-15 17:49:18 · 303 阅读 · 0 评论 -
算法-找到字符串中所有字母异位词
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指由相同字母重排列形成的字符串(包括相同的字符串)。原创 2024-02-16 15:22:55 · 279 阅读 · 0 评论 -
算法-螺旋矩阵
返回矩阵中的所有元素。原创 2024-02-20 11:54:06 · 358 阅读 · 0 评论 -
算法-最大子数组和
请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。的解法,尝试使用更为精妙的。是数组中的一个连续部分。如果你已经实现复杂度为。原创 2024-02-18 15:12:05 · 212 阅读 · 0 评论 -
算法-两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。原创 2024-02-23 12:15:15 · 390 阅读 · 0 评论 -
算法-合并区间
区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。原创 2024-02-19 13:13:00 · 281 阅读 · 0 评论 -
算法-两数相加
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。原创 2024-02-23 12:00:18 · 281 阅读 · 0 评论 -
算法-和为 K 的子数组
子数组是数组中元素的连续非空序列。原创 2024-02-17 15:27:28 · 179 阅读 · 0 评论 -
算法-买卖股票的最佳时机
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。在这种情况下, 没有交易完成, 所以最大利润为 0。买入这只股票,并选择在。原创 2024-03-07 16:03:56 · 386 阅读 · 0 评论 -
算法-旋转图像
旋转图像,这意味着你需要直接修改输入的二维矩阵。请你将图像顺时针旋转 90 度。使用另一个矩阵来旋转图像。原创 2024-02-21 12:28:55 · 331 阅读 · 0 评论 -
算法-轮转数组
向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100],将数组中的元素向右轮转。原创 2024-02-19 11:27:32 · 360 阅读 · 0 评论 -
算法-搜索二维矩阵 II
编写一个高效的算法来搜索。原创 2024-02-21 12:38:55 · 537 阅读 · 0 评论 -
算法-矩阵置零
则将其所在行和列的所有元素都设为。的矩阵,如果一个元素为。原创 2024-02-19 13:57:50 · 1428 阅读 · 0 评论 -
算法-相交链表
的输入如下(你设计的程序。原创 2024-02-21 13:19:47 · 1402 阅读 · 0 评论 -
算法-跳跃游戏 II
跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3步到达数组的最后一个位置。向前跳转的最大长度。生成的测试用例可以到达。处,你可以跳转到任意。原创 2024-03-07 16:43:52 · 478 阅读 · 0 评论 -
算法-滑动窗口最大值
的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口的位置 最大值。滑动窗口每次只向右移动一位。原创 2024-02-17 17:33:07 · 321 阅读 · 0 评论 -
算法-岛屿数量
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。原创 2024-03-07 15:01:24 · 284 阅读 · 0 评论 -
算法- 最小覆盖子串
最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。t 中两个字符 'a' 均应包含在 s 的子串中,因此没有符合条件的子字符串,返回空字符串。所有字符的子串,则返回空字符串。整个字符串 s 是最小覆盖子串。所有字符的最小子串。时间内解决此问题的算法吗?原创 2024-02-18 15:07:44 · 373 阅读 · 0 评论 -
算法-腐烂的橘子
左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个方向上。直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。因为 0 分钟时已经没有新鲜橘子了,所以答案就是 0。的新鲜橘子都会腐烂。原创 2024-03-07 15:42:20 · 518 阅读 · 0 评论 -
算法-跳跃游戏
无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。原创 2024-03-07 16:20:02 · 401 阅读 · 0 评论 -
算法-最长连续序列
找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为。方法二:哈希存储区间端点的值。给定一个未排序的整数数组。原创 2024-01-31 13:23:40 · 359 阅读 · 0 评论 -
算法-移动零
移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。你能尽量减少完成的操作次数吗?,编写一个函数将所有。原创 2024-01-31 13:44:53 · 243 阅读 · 0 评论 -
算法-盛最多水的容器
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。原创 2024-02-02 14:41:46 · 362 阅读 · 0 评论 -
算法-两数之和
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以想出一个时间复杂度小于。你可以按任意顺序返回答案。,请你在该数组中找出。原创 2024-01-26 14:14:14 · 198 阅读 · 0 评论 -
算法-字母异位词分组
方法二:(此方法只适用于字符串比较短的情况,过长会爆Long)计算每个字符串中每个字母的个数,详情可看leetcode官解。是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。给你一个字符串数组,请你将。原创 2024-01-26 15:50:08 · 201 阅读 · 0 评论