自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 收藏
  • 关注

原创 84. 柱状图中最大的矩形

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。输入:heights = [2,1,5,6,2,3]求在该柱状图中,能够勾勒出来的矩形的最大面积。输入: heights = [2,4]

2024-07-15 14:51:38 244

原创 42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输入:height = [4,2,0,3,2,5]

2024-07-15 14:44:42 152

原创 下一个更大元素 II

给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素。数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。输入: nums = [1,2,3,4,3]输入: nums = [1,2,1]输出: [2,3,4,-1,4]输出: [2,-1,2]

2024-07-15 14:40:14 149

原创 496. 下一个更大元素 I

对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素。给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。输入:nums1 = [4,1,2], nums2 = [1,3,4,2].输入:nums1 = [2,4], nums2 = [1,2,3,4].输出:[-1,3,-1]

2024-07-15 14:35:46 200

原创 739. 每日温度

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。输入: temperatures = [73,74,75,71,69,72,76,73]输入: temperatures = [30,40,50,60]输出: [1,1,4,2,1,1,0,0]输出: [1,1,1,0]

2024-07-15 14:32:10 167

原创 516. 最长回文子序列

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。输入:s = “bbbab”输入:s = “cbbd”

2024-07-03 16:37:30 181

原创 647. 回文子串

给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。子字符串 是字符串中的由连续字符组成的一个序列。回文字符串 是正着读和倒过来读一样的字符串。输入:s = “abc”输入:s = “aaa”

2024-07-03 16:33:16 266

原创 72. 编辑距离

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数。输入:word1 = “intention”, word2 = “execution”输入:word1 = “horse”, word2 = “ros”

2024-07-03 16:29:29 296

原创 583. 两个字符串的删除操作

给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。输入:word1 = “leetcode”, word2 = “etco”输入: word1 = “sea”, word2 = “eat”每步 可以删除任意一个字符串中的一个字符。

2024-07-03 16:22:43 284

原创 115. 不同的子序列

给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 + 7 取模。输入:s = “rabbbit”, t = “rabbit”输入:s = “babgbag”, t = “bag”

2024-07-03 16:18:52 291

原创 392. 判断子序列

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。给定字符串 s 和 t ,判断 s 是否为 t 的子序列。输入:s = “abc”, t = “ahbgdc”输入:s = “axc”, t = “ahbgdc”

2024-07-03 16:12:46 146

原创 53. 最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输入:nums = [1]是数组中的一个连续部分。

2024-07-03 16:10:53 211

原创 1035. 不相交的线

输入:nums1 = [2,5,1,2,5], nums2 = [10,5,2,1,5,2]在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。输入:nums1 = [1,4,2], nums2 = [1,2,4]请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。且绘制的直线不与任何其他连线(非水平线)相交。

2024-07-03 16:07:22 164

原创 1143. 最长公共子序列

一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。输入:text1 = “abcde”, text2 = “ace”两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。

2024-07-03 16:06:04 180

原创 718. 最长重复子数组

给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度。输入:nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]输入:nums1 = [0,0,0,0,0], nums2 = [0,0,0,0,0]

2024-07-03 16:03:06 170

原创 674. 最长连续递增序列

连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是连续递增子序列。给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。输入:nums = [1,3,5,4,7]输入:nums = [2,2,2,2,2]

2024-07-03 15:58:46 303

原创 300. 最长递增子序列

子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的。给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。输入:nums = [10,9,2,5,3,7,101,18]输入:nums = [0,1,0,3,2,3]

2024-07-03 15:55:01 154

原创 714. 买卖股票的最佳时机含手续费

给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格;整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。输入:prices = [1, 3, 2, 8, 4, 9], fee = 2。输入:prices = [1,3,7,5,10,3], fee = 3。返回获得利润的最大值。

2024-06-29 17:14:57 130

原创 309. 买卖股票的最佳时机含冷冻期

设计一个算法计算出最大利润。给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。输入: prices = [1,2,3,0,2]输入: prices = [1]

2024-06-29 17:12:20 122

原创 188. 买卖股票的最佳时机 IV

给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。输入:k = 2, prices = [3,2,6,5,0,3]输入:k = 2, prices = [2,4,1]

2024-06-29 17:06:55 372

原创 123. 买卖股票的最佳时机 III

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。输入:prices = [3,3,5,0,0,3,1,4]输入:prices = [1,2,3,4,5]

2024-06-29 17:02:19 236

原创 122. 买卖股票的最佳时机 II

在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。输入:prices = [7,1,5,3,6,4]输入:prices = [1,2,3,4,5]返回 你能获得的 最大 利润。

2024-06-29 16:54:23 161

原创 121. 买卖股票的最佳时机

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]

2024-06-28 15:58:28 249

原创 337. 打家劫舍 III

除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果 两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。给定二叉树的 root。返回 在不触动警报的情况下 ,小偷能够盗取的最高金额。小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root。输入: root = [3,2,3,null,3,null,1]输入: root = [3,4,5,1,3,null,1]

2024-06-28 15:50:46 175

原创 213. 打家劫舍 II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。输入:nums = [1,2,3,1]输入:nums = [2,3,2]

2024-06-28 15:44:35 174

原创 198. 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。输入:[2,7,9,3,1]输入:[1,2,3,1]

2024-06-28 15:41:17 113

原创 139. 单词拆分

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。输入: s = “applepenapple”, wordDict = [“apple”, “pen”]输入: s = “leetcode”, wordDict = [“leet”, “code”]注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

2024-06-25 16:31:40 246

原创 279. 完全平方数

完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。给你一个整数 n ,返回 和为 n 的完全平方数的最少数量。

2024-06-25 16:21:51 146

原创 322. 零钱兑换

计算并返回可以凑成总金额所需的 最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。输入:coins = [1, 2, 5], amount = 11。输入:coins = [1], amount = 0。你可以认为每种硬币的数量是无限的。

2024-06-25 16:15:29 232

原创 377. 组合总和 Ⅳ

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target。请你从 nums 中找出并返回总和为 target 的元素组合的个数。输入:nums = [1,2,3], target = 4。输入:nums = [9], target = 3。题目数据保证答案符合 32 位整数范围。

2024-06-25 16:07:00 168

原创 518. 零钱兑换 II

给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0。输入:amount = 5, coins = [1, 2, 5]输入:amount = 3, coins = [2]题目数据保证结果符合 32 位带符号整数。假设每一种面额的硬币有无限个。

2024-06-25 16:02:12 280

原创 474. 一和零

输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3。请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1。输入:strs = [“10”, “0”, “1”], m = 1, n = 1。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集。给你一个二进制字符串数组 strs 和两个整数 m 和 n。strs[i] 仅由 ‘0’ 和 ‘1’ 组成。

2024-06-25 15:41:15 134

原创 494. 目标和

例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1”。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。输入:nums = [1,1,1,1,1], target = 3。给你一个非负整数数组 nums 和一个整数 target。输入:nums = [1], target = 1。

2024-06-25 15:31:08 298

原创 1049. 最后一块石头的重量 II

有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块 石头。返回此石头 最小的可能重量。如果没有石头剩下,就返回 0。

2024-06-25 15:21:58 198

原创 416. 分割等和子集

给你一个 只包含正整数 的 非空 数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。输入:nums = [1,5,11,5]输入:nums = [1,2,3,5]

2024-06-25 15:17:45 117

原创 0-1背包问题

dp[i][j]表示容量为j的背包,在物品i之前任取物品能达到的最大价值对于我们这个问题就是要确定dp[2][10]的值,就是代表了容量为10的背包,在物品2之前任取物品所能找到的最大价值dp[j]代表容量为j的背包所能装在的最大价值。

2024-05-06 16:26:14 248

原创 435. 无重叠区间

给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi]。返回 需要移除区间的最小数量,使剩余区间互不重叠。输入: intervals = [[1,2],[2,3],[3,4],[1,3]]输入: intervals = [ [1,2], [1,2], [1,2] ]

2024-05-06 15:56:20 238

原创 96. 不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

2024-04-02 15:54:34 141

原创 343. 整数拆分

给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积。输入: n = 10。

2024-04-02 15:46:33 146

原创 63. 不同路径 II

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?输入:obstacleGrid = [[0,1],[0,0]]网格中的障碍物和空位置分别用 1 和 0 来表示。

2024-04-02 15:37:40 149

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除