LeetCode hot100
文章平均质量分 90
hot100心得
22:30Plane-Moon
积极学习Java,开心学习PianoAndGuitar,享受人生,立足当下,不去妄想漂浮的泡泡里的五颜六色。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode Hot100 算法题 (贪心算法篇)
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。同时,你不能在买入前卖出股票。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。数组中的每个元素代表你在该位置可以跳跃的最大长度。返回一个表示每个字符串片段的长度的列表。原创 2025-06-24 12:22:00 · 643 阅读 · 0 评论 -
LeetCode Hot100 算法题 (回溯篇)
2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。给出数字到字母的映射如下(与电话按键相同)。代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且。子集问题:状态 = 当前已选元素集合 + 可用元素起始位置。如果至少一个数字的被选数量不同,则两种组合是不同的。排列问题:状态 = 当前已选元素序列 + 可用元素集合。的字符串,返回所有它能表示的字母组合。组合问题:状态 = 当前组合 + 剩余可选元素范围。7 也是一个候选, 7 = 7。,并以列表形式返回。原创 2025-06-27 15:12:05 · 726 阅读 · 0 评论 -
LeetCode Hot100 算法题 (矩阵篇)
则将其所在行和列的所有元素都设为。的矩阵,如果一个元素为。,返回矩阵中的所有元素。原创 2025-06-26 14:45:16 · 219 阅读 · 0 评论 -
LeetCode Hot100 算法题 (技巧篇)
之中任意元素的全部前缀元素和后缀的乘积都在。,将数组中的元素向右轮转。之外其余各元素的乘积。时间复杂度内完成此题。原创 2025-06-24 17:59:06 · 193 阅读 · 0 评论 -
LeetCode Hot100 算法题 (二分查找篇)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。给你一个满足下述两条属性的。请必须使用时间复杂度为。原创 2025-06-25 11:14:47 · 446 阅读 · 0 评论 -
LeetCode Hot100 算法题 (多维动态规划篇)
是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。horse -> rorse (将 'h' 替换为 'r')网格的左上角 (起始点在下图中标记为 “Start” )。最长公共子序列是 "ace" ,它的长度为 3。因为路径 1→3→1→1→1 的总和最小。是这两个字符串所共同拥有的子序列。原创 2025-06-23 15:41:14 · 1174 阅读 · 0 评论 -
LeetCode Hot100 算法题 (动态规划篇)
2、第一版代码 -> 发现超时 -> 使用记忆数组(剪枝) -> dp数组以状态记录 -> 滑块数组(斐波那契数列方法)你有多少种不同的方法可以爬到楼顶呢?有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。原创 2025-06-22 11:24:37 · 505 阅读 · 0 评论 -
LeetCode Hot100 算法题 (二叉树篇)
英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。是指从根节点到最远叶子节点的最长路径上的节点数。深度优先搜索属于图算法的一种。给定一个二叉树的根节点。原创 2025-06-17 15:45:29 · 285 阅读 · 0 评论 -
LeetCode Hot100 算法题 (双指针篇)
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。,编写一个函数将所有。原创 2025-06-15 21:16:10 · 201 阅读 · 0 评论 -
LeetCode Hot100 算法题 (栈篇)
匹配字符,左右对称的这种,对半拆开来看的话,左边最右一定与右边最左是匹配的,这时如果将左边放进栈里面,后入先出,这样就能维护匹配的顺序了,右边进行匹配,此时匹配二字就要想起map这个数据结构。输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。天,下一个更高温度出现在几天后。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数。给定一个经过编码的字符串,返回它解码后的字符串。操作,并能在常数时间内检索到最小元素的栈。,表示每天的温度,返回一个数组。,判断字符串是否有效。原创 2025-06-15 11:31:26 · 487 阅读 · 0 评论 -
LeetCode Hot100 算法题 (哈希篇)
本文介绍了三个经典算法问题的解法:1)"两数之和"通过哈希表实现O(n)时间复杂度的查找;2)"字母异位词分组"利用字符串排序作为哈希键来分组;3)"最长连续序列"采用哈希集合存储元素,通过判断序列起点来优化查找。三个问题均利用哈希相关数据结构(HashMap/HashSet)提升查找效率,展示了哈希在算法优化中的核心作用,体现了空间换时间的思想。每个解法都给出了Java实现代码和示例说明,解题思路清晰高效。原创 2025-05-28 20:00:51 · 1044 阅读 · 0 评论 -
LeetCode Hot100 算法题 (滑动窗口篇)
滑动窗口其实基本原理还是双指针,但在双指针中左右指针可能会有回退操作,而滑动窗口的左右指针只会向前走,不会回退是一种数据结构,它包含一系列元素,这些元素按照一定的顺序排列。滑动窗口的特点是窗口的大小可以动态调整,窗口中的元素可以向前或向后滑动。原创 2025-05-27 11:34:05 · 272 阅读 · 0 评论 -
LeetCode Hot100 算法题 (链表篇)
解:因存在相同大小的部分,因此长度差可以靠着"互相走对方的路"的方式来消除,且一定是在未相遇的部分消除,因此第一次相遇就是重合的开始。,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。,函数返回结果后,链表必须。整个链式结构中不存在环。给你两个单链表的头节点。原创 2025-05-22 10:58:57 · 497 阅读 · 0 评论
分享