随笔分类 -  LeetCode HOT 100

摘要:题目:152. 乘积最大子数组 题目描述: 给你一个整数数组,在该数组的所有子数组中,找到一个子数组中所有元素相乘积最大,返回这个最大的积。子数组就是一个数组中,由一个或几个下标连续的元素,组成的小数组,就叫原数组的子数组。 思路: 这一题和题目:53. 最大子数组和很像。但是又复杂了一点。所以建议 阅读全文
posted @ 2023-02-17 15:03 煜航 阅读(125) 评论(0) 推荐(0) 编辑
摘要:环形链表 解题思路 定义两个指针,一个快指针,一个慢指针,快指针每次移动两个节点,慢指针每次移动一个节点。 从头节点开始,让快慢指针同时移动,如果链表中有环,那么快慢指针一定会在某个节点相遇。 如果快慢指针相遇了,说明链表中有环,返回true。如果快指针移动到了null,说明链表中没有环,返回fal 阅读全文
posted @ 2023-02-12 14:02 煜航 阅读(318) 评论(0) 推荐(3) 编辑
摘要:题目:98. 验证二叉搜索树 题目描述: 给你一个二叉树,让你判断该二叉树是否是二叉搜索树。什么是二叉搜索树呢?就是某一个节点的左子树上的所有节点的值都小于当前节点,右子树上的所有节点值都大于当前节点,记住,是所有节点,不是左子节点和右子节点这俩节点。而且树上所有的节点都必须满足这个条件,整棵树才能 阅读全文
posted @ 2023-01-05 11:31 煜航 阅读(61) 评论(0) 推荐(0) 编辑
摘要:题目:78. 子集 题目描述: 给你一个整数数组,数组中元素互不相同。返回数组中所有可能的子集,且子集不能重复! 什么是子集?举个例子:原数组[1, 2, 3],[]、[1]、[1, 2]、[1, 3]、[1, 2, 3]、[2]、[2, 3]、[3]这些都是原数组的子集。所以说子集就是原数组中零个 阅读全文
posted @ 2022-12-22 15:14 煜航 阅读(77) 评论(0) 推荐(0) 编辑
摘要:题目:75. 颜色分类 题目描述: 给你一个数组,元素只为0、1、2,分别代表红色、白色和蓝色。将数组中相同颜色的元素移动到一起,并将它们排序。也就是将0都排在最前面,1排在中间,2排在最后。题目要求不申请额外空间,原地移动。 思路: 这道题的思路很清晰,就是荷兰国旗问题。用解荷兰国旗问题的方法解这 阅读全文
posted @ 2022-12-21 15:55 煜航 阅读(87) 评论(0) 推荐(0) 编辑
摘要:题目:53. 最大子数组和 题目描述: 给你一个整数数组,在该数组的所有子数组中,找到一个子数组中所有元素相加和最大,返回这个最大的和。子数组就是一个数组中,由一个或几个下标连续的元素,组成的小数组,就叫原数组的子数组。 思路: 这种求子数组怎么怎么的问题,都可以向一种思维上靠拢。即以某一个元素为结 阅读全文
posted @ 2022-12-19 22:47 煜航 阅读(39) 评论(0) 推荐(0) 编辑
摘要:题目:56. 合并区间 题目描述: 给你一个二维数组,类似于[[1, 3], [2, 6], [6,10], [15,18]],其中每一个元素表示一个区间,区间0下标表示区间左边界,1下标表示区间右边界。题目要求返回合并区间之后的数组,如何合并呢?上一个区间的右边界大于等于下一个区间的左边界,就可以 阅读全文
posted @ 2022-12-17 12:00 煜航 阅读(29) 评论(0) 推荐(0) 编辑
摘要:题目:49. 字母异位词分组 题目描述: 给你一个字符串数组,字符串只包含小写字母。要将数组中的字母异位词进行分组。解释一下什么叫字母异位词。假设有几个字符串,除了字符串中的字符顺序不同,其他都相同,这就叫互为字母异位词。例如abc和acb,他们互为字母异位词。但是如果abc和ab,就不是。进行分组 阅读全文
posted @ 2022-12-17 09:42 煜航 阅读(53) 评论(0) 推荐(0) 编辑
摘要:题目:48. 旋转图像 题目描述: 给你一个正方形矩阵数组,将其中的所有元素都顺时针旋转90度,得到旋转之后的矩阵数组。本题要求必须在原地修改,不能使用额外空间。 思路: 看到这个题,如果可以使用额外空间,很简单,把行都放到列上就行。假设原数组num[row][col],放到新列上就是num[col 阅读全文
posted @ 2022-12-15 15:34 煜航 阅读(34) 评论(0) 推荐(0) 编辑
摘要:题目:46. 全排列 题目描述: 给你一个没有重复元素的数组,返回其所有可能的全排列。全排列是什么呢?举个简单的例子,数组[1, 2, 3],其中一个排列为[2, 1, 3],该数组所有的全排列为[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] 阅读全文
posted @ 2022-12-14 23:17 煜航 阅读(49) 评论(0) 推荐(0) 编辑
摘要:题目:39. 组合总和 题目描述: 给你一个没有重复元素的数组,和一个target目标值,返回数组中可以使数字和为目标数target的所有不同组合。什么叫组合?组合就是数组中任意数字组成的集合,不需要连续,组合和顺序无关。这一题中的不同,指的是两个组合中至少一个数字的被选数量不同,例如[2, 3, 阅读全文
posted @ 2022-12-13 20:42 煜航 阅读(60) 评论(0) 推荐(0) 编辑
摘要:题目:34. 在排序数组中查找元素的第一个和最后一个位置 题目描述: 给你一个递增数组,和一个目标值target,最终返回数组中第一次出现target和最后一次出现target的下标。如果该数组中没有target,返回[-1, -1]。如果只出现了一次target,返回的第一次和最后一次出现的下标相 阅读全文
posted @ 2022-12-11 22:37 煜航 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目:33. 搜索旋转排序数组 题目描述: 一个整数数组,数组每个值都不相同,且该整数数组是一个被旋转过的数组。被旋转过的数组是指,由一个递增的数组,从某一个下标开始往后的元素,移到最开头。举个例子:数组[1, 3, 4, 5, 7],假设从下标为2处开始旋转,得到旋转过的数组为[4, 5, 7, 阅读全文
posted @ 2022-12-10 14:47 煜航 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目:31. 下一个排列 题目描述: 本题是给你一个整数数组,返回该数组的下一个线性顺序排列。 举个例子:给你一个[1, 2, 3]的数组,他的线性排列顺序从小到大依次为[1, 3, 2],[2, 1, 3],[2, 3, 1],[3, 1, 2],[3, 2, 1] 所以如果给你数组是[1, 2, 阅读全文
posted @ 2022-12-09 23:51 煜航 阅读(19) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示