- 博客(172)
- 收藏
- 关注
原创 93.单词间转换的最小次数leetcode72
inention -> enention (将 'i' 替换为 'e')enention -> exention (将 'n' 替换为 'x')exention -> exection (将 'n' 替换为 'c')horse -> rorse (将 'h' 替换为 'r')intention -> inention (删除 't')exection -> execution (插入 'u')rorse -> rose (删除 'r')rose -> ros (删除 'e')
2026-03-10 01:40:22
176
原创 92.最长公共子序列 leetcode1143
是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。最长公共子序列是 "ace" ,它的长度为 3。最长公共子序列是 "abc" ,它的长度为 3。是这两个字符串所共同拥有的子序列。,返回这两个字符串的最长。
2026-03-10 00:33:18
63
原创 90.最小路径和 leetcode64
请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。每次只能向下或者向右移动一步。给定一个包含非负整数的。
2026-03-08 23:43:52
68
原创 87.分割成两个等和数组 leetcode416
给你一个的数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。true数组可以分割成 [1, 5, 5] 和 [11]。false数组不能分割成两个元素和相等的子集。
2026-03-08 22:45:11
199
原创 84.单词拆分(leetcode139)完全背包
返回 true 因为 "applepenapple" 可以由 "apple" "pen" "apple" 拼接成。返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。如果可以利用字典中出现的一个或多个单词拼接出。注意,你可以重复使用字典中的单词。
2026-03-06 23:13:58
220
原创 83.零钱兑换(leetcode322)
给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。计算并返回可以凑成总金额所需的。如果没有任何一种硬币组合能组成总金额,返回-1。你可以认为每种硬币的数量是无限的。
2026-03-04 15:01:47
43
原创 82.完全平方数组成n所需要的最小个数(leetcode279)
是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。的完全平方数的最少数量。
2026-03-04 11:01:30
42
原创 81.打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 2 + 9 + 1 = 12。偷窃到的最高金额 = 1 + 3 = 4。给定一个代表每个房屋存放金额的非负整数数组,计算你。,一夜之内能够偷窃到的最高金额。
2026-03-01 22:46:31
30
原创 79.爬楼梯(力扣70)
你有多少种不同的方法可以爬到楼顶呢?1. 1 阶 + 1 阶 + 1 阶。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。有三种方法可以爬到楼顶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。
2026-02-27 09:43:52
271
原创 78.划分字母区间(力扣763)
像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。划分结果为 "ababcbaca"、"defegde"、"hijhklij"。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。返回一个表示每个字符串片段的长度的列表。每个字母最多出现在一个片段中。
2026-02-26 17:29:52
41
原创 77.跳跃游戏Ⅱ
注意:把i看作人,cur_right看作已经建好的的桥,next_right看作能够建成的最远的桥,人还没走到已经建好的桥的尽头时,收集最远能建到多远,当走到尽头时,再建一段新桥cur_right = next_right,人再去追赶桥的尽头。至于为什么走到头才跳是对的,请参考Sarinee的评论,我觉得挺通俗易懂的。从下标为 0 跳到下标为 1 的位置,跳。向后跳转的最大长度。换句话说,如果你在索引。跳到最后一个位置的最小跳跃数是。步到达数组的最后一个位置。处,你可以跳转到任意。初始位置在下标 0。
2026-02-26 16:56:40
31
原创 76.跳跃游戏
注意:一定要先判断再更新,因为第i轮的时候更新好了max_arrival,到下一轮i+1的时候,不一定可以到达i+1,比如:i = 3.max_arr = 3,当前只可以到达index = 3位置,当i++ = 4的时候,到达不了index=4的位置,进来循环就必须先比较,如果先更新,则会从index=4处更新max_arr = 4+nums[4]了。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。判断你是否能够到达最后一个下标,如果可以,返回。
2026-02-26 15:23:30
51
原创 75.买卖股票得最佳时期
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。在这种情况下, 没有交易完成, 所以最大利润为 0。
2026-02-26 14:29:27
271
原创 72. O(N)复杂度实现找第K大的数
给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。
2026-02-26 10:38:09
72
原创 70.每日温度(单调栈)
给定一个整数数组,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。
2026-02-25 18:01:46
62
原创 65.搜索平移数组的最小值
1原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。0原数组为 [0,1,2,4,5,6,7] ,旋转 4 次得到输入数组。11原数组为 [11,13,15,17] ,旋转 4 次得到输入数组。
2026-02-25 11:17:47
56
原创 64 搜索平移递增数组中的元素
一开始up也认为如果我给一个数组nums = {1 7 2 3 4}分段点也不在[mid+1,right]里面呀?原因在对题目的理解错了,题目是一个有序数组平移了,我们把给出的数组平移下,{2 3 4 1 7}并不是严格递增的数组平移得到的不满足题意,不可以用二分找polit,这个数组是两个有序数组拼接的数组,叫“山脉数组”,这就是对题目理解有所偏差导致的疑问了,一开始up也半天没看明白题目要我干啥。1 7 4 5 6 8 9 不满足,因为不是递增数组平移后的。[大,大+,小,小+]
2026-02-20 21:05:09
83
原创 63.排序数组中找元素的第一个元素和最后一个元素
示例 1:输入:nums = [, target = 8输出:[3,4]示例 2:输入:nums = [, target = 6输出:[-1,-1]示例 3:输入:nums = [], target = 0输出:[-1,-1]
2026-02-19 22:02:23
72
原创 leetcode 162 寻找峰值
3.表示arr[0]是左小右大,arr[n-1]是右小左大,区间左边上升右边下降,中间必有一个峰值。4.L = 1,R = n-2,mid = (L+R)/2,开始看中点,有以下几种情况。2.arr[n-1]是峰值吗?1.arr[0] 是峰值吗?
2026-02-11 06:37:25
356
原创 56.组合总数
2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。7 也是一个候选, 7 = 7。仅有这两种组合。[]
2026-02-05 00:12:08
56
原创 54 子集
示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]2.代码
2026-02-04 21:27:46
104
原创 53.全排列组合
本文介绍了一种使用回溯算法解决全排列问题的方法。通过递归和状态回退,生成输入数组所有可能的排列组合。算法核心是维护一个访问标记数组和当前路径,当路径长度等于输入数组大小时记录结果。每次递归尝试选择未被访问的元素,并在回溯时撤销选择,确保所有排列都能被探索。时间复杂度为O(n!),空间复杂度为O(n)。代码清晰展示了递归调用和状态回退的过程,适合用于理解回溯算法的经典实现。
2026-02-03 00:52:33
293
原创 51.课程表(拓扑排序)-leetcode207
本文解决课程选修顺序问题,通过拓扑排序判断是否存在可行的学习路径。算法使用邻接表存储课程依赖关系,维护入度数组记录每门课程的先修要求。初始化时将入度为0的课程入队,依次处理队列中的课程,将其后修课程的入度减1,若减至0则入队。最终比较已学课程数与总课程数,若相等则返回true,否则返回false。该算法能有效检测课程依赖中是否存在循环依赖,确保学习顺序的可行性。
2026-02-01 21:23:39
296
原创 50.腐烂的橘子
在给定的m x n网格grid012每分钟,腐烂的橘子的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。
2026-01-31 21:27:50
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅