- 博客(172)
- 收藏
- 关注
原创 221. 最大正方形
输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:matrix = [[“0”,“1”],[“1”,“0”]]输入:matrix = [[“0”]]来源:力扣(LeetCode)
2025-01-23 07:01:37
244
原创 188. 买卖股票的最佳时机 IV
解释:在第 2 天 (股票价格 = 2) 的时候买入,在第 3 天 (股票价格 = 6) 的时候卖出, 这笔交易所能获得利润 = 6-2 = 4。随后,在第 5 天 (股票价格 = 0) 的时候买入,在第 6 天 (股票价格 = 3) 的时候卖出, 这笔交易所能获得利润 = 3-0 = 3。解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2。输入:k = 2, prices = [3,2,6,5,0,3]
2025-01-23 06:59:34
182
原创 123. 买卖股票的最佳时机 III
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。输入:prices = [3,3,5,0,0,3,1,4]输入:prices = [1]
2025-01-23 06:57:22
247
原创 72. 编辑距离
给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数。输入:word1 = “intention”, word2 = “execution”inention -> enention (将 ‘i’ 替换为 ‘e’)enention -> exention (将 ‘n’ 替换为 ‘x’)exention -> exection (将 ‘n’ 替换为 ‘c’)输入:word1 = “horse”, word2 = “ros”来源:力扣(LeetCode)
2025-01-21 09:56:18
322
原创 064. 最小路径和
给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:示例 2:提示:来源:力扣(LeetCode)链接:https://leetcode.cn/problems/minimum-path-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2025-01-19 10:58:05
270
原创 97. 交错字符串
交错 是 s1 + t1 + s2 + t2 + s3 + t3 + …或者 t1 + s1 + t2 + s2 + t3 + s3 + …输入:s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”输入:s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。著作权归领扣网络所有。输入:s1 = “”, s2 = “”, s3 = “”
2025-01-19 10:53:16
379
原创 322. 零钱兑换
计算并返回可以凑成总金额所需的 最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:coins = [1, 2, 5], amount = 11。输入:coins = [2], amount = 3。输入:coins = [1], amount = 0。你可以认为每种硬币的数量是无限的。解释:11 = 5 + 5 + 1。
2025-01-16 18:18:40
189
原创 300. 最长递增子序列
子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解释:最长递增子序列是 [2,3,7,101],因此长度为 4。给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。输入:nums = [10,9,2,5,3,7,101,18]输入:nums = [7,7,7,7,7,7,7]输入:nums = [0,1,0,3,2,3]
2025-01-16 18:18:07
195
原创 120. 三角形最小路径和
每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1。输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。给定一个三角形 triangle ,找出自顶向下的最小路径和。输入:triangle = [[-10]]
2025-01-16 18:17:16
161
原创 63. 不同路径 II
给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 grid[0][0])。机器人尝试移动到 右下角(即 grid[m - 1][n - 1])。网格中的障碍物和空位置分别用 1 和 0 来表示。机器人的移动路径中不能包含 任何 有障碍物的方格。输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输入:obstacleGrid = [[0,1],[0,0]]返回机器人能够到达右下角的不同路径数量。解释:3x3 网格的正中间有一个障碍物。
2025-01-16 18:16:36
263
原创 5. 最长回文子串
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给你一个字符串 s,找到 s 中最长的 回文子串。解释:“aba” 同样是符合题意的答案。来源:力扣(LeetCode)输入:s = “babad”输入:s = “cbbd”
2025-01-16 18:15:47
142
原创 198. 打家劫舍
每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 2 + 9 + 1 = 12。
2025-01-10 11:03:03
208
原创 70. 爬楼梯
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。需要 n 阶你才能到达楼顶。解释:有两种方法可以爬到楼顶。解释:有三种方法可以爬到楼顶。来源:力扣(LeetCode)
2025-01-10 10:59:50
200
原创 53. 最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]解释:连续子数组 [4,-1,2,1] 的和最大,为 6。输入:nums = [5,4,-1,7,8]来源:力扣(LeetCode)输入:nums = [1]是数组中的一个连续部分。
2025-01-09 07:13:20
140
原创 149. 直线上最多的点数
给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。链接:https://leetcode.cn/problems/max-points-on-a-line。输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:points = [[1,1],[2,2],[3,3]]来源:力扣(LeetCode)
2025-01-09 07:05:52
266
原创 50. Pow(x, n)
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解释:2-2 = 1/22 = 1/4 = 0.25。输入:x = 2.00000, n = 10。输入:x = 2.00000, n = -2。输入:x = 2.10000, n = 3。来源:力扣(LeetCode)输出:1024.00000。输出:9.26100。输出:0.25000。
2025-01-08 20:40:34
189
原创 69. x 的平方根
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5。解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。给你一个非负整数 x ,计算并返回 x 的 算术平方根。来源:力扣(LeetCode)
2025-01-08 06:50:25
300
原创 172. 阶乘后的零
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给定一个整数 n ,返回 n!结果中尾随零的数量。= 120 ,有一个尾随 0。= 6 ,不含尾随 0。来源:力扣(LeetCode)
2025-01-08 06:34:24
248
原创 66. 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。输入:digits = [4,3,2,1]输入:digits = [1,2,3]加 1 得到了 9 + 1 = 10。解释:输入数组表示数字 4321。解释:输入数组表示数字 123。输入:digits = [9]因此,结果应该是 [1,0]。解释:输入数组表示数字 9。输出:[4,3,2,2]输出:[1,2,4]
2025-01-08 03:34:03
329
原创 53. 最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]解释:连续子数组 [4,-1,2,1] 的和最大,为 6。输入:nums = [5,4,-1,7,8]来源:力扣(LeetCode)输入:nums = [1]是数组中的一个连续部分。
2025-01-08 02:47:47
150
原创 9. 回文数
链接:https://leetcode.cn/problems/summary-ranges。给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。解释:从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。商业转载请联系官方授权,非商业转载请注明出处。是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解释:从右向左读, 为 01。例如,121 是回文,而 123 不是。输入:x = -121。输入:x = 121。
2025-01-08 00:46:19
217
原创 201. 数字范围按位与
给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。第1次: right = 7 & (7-1) = 7 & 6 = 110。第2次: right = 6 & (6-1) = 6 & 5 = 100。商业转载请联系官方授权,非商业转载请注明出处。输入:left = 1, right = 2147483647。输入:left = 5, right = 7。输入:left = 0, right = 0。
2025-01-08 00:28:52
143
原创 137. 只出现一次的数字 II
给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次。请你找出并返回那个只出现了一次的元素。链接:https://leetcode.cn/problems/summary-ranges。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。输入:nums = [0,1,0,1,0,1,99]输入:nums = [2,2,3,2]来源:力扣(LeetCode)
2025-01-07 23:52:19
291
原创 136. 只出现一次的数字
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。链接:https://leetcode.cn/problems/summary-ranges。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:nums = [4,1,2,1,2]输入:nums = [2,2,1]来源:力扣(LeetCode)输入:nums = [1]
2025-01-07 05:41:53
308
原创 191. 位1的个数
解释:输入的二进制串 1111111111111111111111111111101 中,共有 30 个设置位。链接:https://leetcode.cn/problems/summary-ranges。给定一个正整数 n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中。解释:输入的二进制串 10000000 中,共有 1 个设置位。解释:输入的二进制串 1011 中,共有 3 个设置位。输入:n = 2147483645。来源:力扣(LeetCode)输入:n = 128。
2025-01-07 05:25:02
321
原创 190. 颠倒二进制位
在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,解释:输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,著作权归领扣网络所有。
2025-01-07 05:16:49
387
原创 67. 二进制求和
链接:https://leetcode.cn/problems/summary-ranges。给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:a = “1010”, b = “1011”输入:a = “11”, b = “1”来源:力扣(LeetCode)输出:“10101”
2025-01-06 10:14:05
245
原创 295. 数据流的中位数
double findMedian() 返回到目前为止所有元素的中位数。// 返回 1.5 ((1 + 2) / 2)如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。链接:https://leetcode.cn/problems/summary-ranges。void addNum(int num) 将数据流中的整数 num 添加到数据结构中。例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5。例如 arr = [2,3,4] 的中位数是 3。
2025-01-04 10:47:58
404
原创 373. 查找和最小的 K 对数字
给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k。请找到和最小的 k 个数对 (u1,v1), (u2,v2) …输入: nums1 = [1,7,11], nums2 = [2,4,6], k = 3。定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2。输入: nums1 = [1,1,2], nums2 = [1,2,3], k = 2。输出: [1,2],[1,4],[1,6]输出: [1,1],[1,1]
2024-12-30 04:59:28
307
原创 215. 数组中的第K个最大元素
链接:https://leetcode.cn/problems/summary-ranges。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。商业转载请联系官方授权,非商业转载请注明出处。输入: [3,2,3,1,2,4,5,5,6], k = 4。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。输入: [3,2,1,5,6,4], k = 2。来源:力扣(LeetCode)
2024-09-16 09:49:00
330
原创 502. IPO
总而言之,从给定项目中选择 最多 k 个不同项目的列表,以 最大化最终资本 ,并输出最终可获得的最多资本。输入:k = 2, w = 0, profits = [1,2,3], capital = [0,1,1]输入:k = 3, w = 0, profits = [1,2,3], capital = [0,1,2]当你完成一个项目时,你将获得纯利润,且利润将被添加到你的总资本中。由于你最多可以选择两个项目,所以你需要完成 2 号项目以获得最大的资本。在完成后,你将获得 1 的利润,你的总资本将变为 1。
2024-09-16 09:46:41
303
原创 74. 搜索二维矩阵
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13。输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3。给你一个整数 target ,如果 target 在矩阵中,返回 true;否则,返回 false。链接:https://leetcode.cn/problems/summary-ranges。每行的第一个整数大于前一行的最后一个整数。
2024-08-09 08:10:35
569
原创 162. 寻找峰值
给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。链接:https://leetcode.cn/problems/summary-ranges。商业转载请联系官方授权,非商业转载请注明出处。你可以假设 nums[-1] = nums[n] = -∞。输入:nums = [1,2,1,3,5,6,4]解释:你的函数可以返回索引 1,其峰值元素为 2;峰值元素是指其值严格大于左右相邻值的元素。或者返回索引 5, 其峰值元素为 6。
2024-08-09 08:09:48
207
原创 34. 在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。输入:nums = [5,7,7,8,8,10], target = 8。输入:nums = [5,7,7,8,8,10], target = 6。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。如果数组中不存在目标值 target,返回 [-1, -1]。输入:nums = [], target = 0。输出:[-1,-1]输出:[-1,-1]
2024-08-09 03:24:32
209
原创 35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。链接:https://leetcode.cn/problems/summary-ranges。商业转载请联系官方授权,非商业转载请注明出处。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。请必须使用时间复杂度为 O(log n) 的算法。
2024-08-09 03:21:51
181
原创 153. 寻找旋转排序数组中的最小值
注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …解释:原数组为 [0,1,2,4,5,6,7] ,旋转 3 次得到输入数组。解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]输入:nums = [4,5,6,7,0,1,2]输入:nums = [3,4,5,1,2]
2024-08-09 03:20:50
167
原创 4. 寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。链接:https://leetcode.cn/problems/summary-ranges。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。著作权归领扣网络所有。输入:nums1 = [1,2], nums2 = [3,4]输入:nums1 = [1,3], nums2 = [2]算法的时间复杂度应该为 O(log (m+n))。解释:合并数组 = [1,2,3] ,中位数 2。
2024-08-09 03:19:53
241
原创 23. 合并 K 个升序链表
链接:https://leetcode.cn/problems/summary-ranges。输入:lists = [[1,4,5],[1,3,4],[2,6]]著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。输出:[1,1,2,3,4,4,5,6]将它们合并到一个有序链表中得到。输入:lists = [[]]来源:力扣(LeetCode)输入:lists = []
2024-06-10 15:13:03
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人