自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 dp的定义

2、如果是 子序列,一般用 0-i区间的字符。但是如果需要确定最后一位的大小,还要定义为以nums[i]为结尾的字符串。1、如果是连续的子序列或者是 子数组,一般定义为以nums[i]结尾的数组。

2023-12-05 20:22:20 426

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

个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。最大的矩形为图中红色区域,面积为 10。

2023-12-04 19:59:06 403

原创 42. 接雨水

双指针给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。6上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。9。

2023-12-04 19:46:55 450

原创 503. 下一个更大元素 II

是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。第二个 1 的下一个最大的数需要循环搜索,结果也是 2。第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;

2023-12-04 19:33:23 415

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

2 ,用加粗斜体标识,nums2 = [1,3,4,- 4 ,用加粗斜体标识,nums2 = [1,2,3,如果不存在下一个更大元素,那么本次查询的答案是。- 4 ,用加粗斜体标识,nums2 = [1,3,不存在下一个更大元素,所以答案是 -1。- 2 ,用加粗斜体标识,nums2 = [1,不存在下一个更大元素,所以答案是 -1。不存在下一个更大元素,所以答案是 -1。- 1 ,用加粗斜体标识,nums2 = [下一个更大元素是 3。下一个更大元素是 3。

2023-12-03 15:00:05 402

原创 739. 每日温度

天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用。,表示每天的温度,返回一个数组。

2023-12-03 14:48:07 348

原创 516. 最长回文子序列

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。,找出其中最长的回文子序列,并返回该序列的长度。一个可能的最长回文子序列为 "bbbb"。一个可能的最长回文子序列为 "bb"。

2023-12-01 21:32:39 429

原创 647. 回文子串

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。6个回文子串: "a", "a", "a", "aa", "aa", "aaa"三个回文子串: "a", "b", "c"是字符串中的由连续字符组成的一个序列。是正着读和倒过来读一样的字符串。,请你统计并返回这个字符串中。

2023-12-01 20:45:15 392

原创 72. 编辑距离

如何让s[i-1] == t[j-1],只需要替换一次,而s[i-1]==t[i-1]对应的次数是dp[i-1][j-1] 这里再额外加一,dp[i-1][j-1]+1;2、删除:既然s[i-1]不符合,那就把它删了,缩小区间。dp[i][j]:[0- i-1]区间的s 和 [0- j-1]区间的t,相同,最少的操作次数为dp[i][j]初始化:dp[i][j]由[i-1][j-1],[i-1][j],[i][j-1]推出来。

2023-11-30 20:19:52 385

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

删除操作就是考不考虑dp[i][j]:[0- i-1]区间的s字符串 和 [0- j-1]区间的t字符串 相同 最少需要需要操作dp[i][j]次。

2023-11-30 18:52:03 388

原创 115. 不同的子序列

出现的个数,结果需要对 109 + 7 取模。如下所示, 有 3 种可以从 s 中得到。如下所示, 有 5 种可以从 s 中得到。

2023-11-29 18:57:06 450

原创 392. 判断子序列

如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。添加此问题并且创建所有测试用例。

2023-11-29 18:56:23 380

原创 53. 最大子数组和

请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。是数组中的一个连续部分。

2023-11-29 18:20:53 411

原创 1143. 最长公共子序列

是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。最长公共子序列是 "ace" ,它的长度为 3。最长公共子序列是 "abc" ,它的长度为 3。两个字符串没有公共子序列,返回 0。是这两个字符串所共同拥有的子序列。,返回这两个字符串的最长。

2023-11-22 11:14:49 159

原创 718. 最长重复子数组

长度最长的公共子数组是 [3,2,1]。、长度最长的子数组的长度。

2023-11-22 11:09:54 56

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

尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。最长连续递增序列是 [1,3,5], 长度为3。最长连续递增序列是 [2], 长度为1。给定一个未经排序的整数数组,找到最长且。,并返回该序列的长度。)确定,如果对于每个。就是连续递增子序列。

2023-11-21 19:07:46 367

原创 300. 最长递增子序列

是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。最长递增子序列是 [2,3,7,101],因此长度为 4。,找到其中最长严格递增子序列的长度。

2023-11-21 18:59:36 54

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

你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8。在此处买入 prices[0] = 1。在此处卖出 prices[3] = 8。在此处买入 prices[4] = 4。在此处卖出 prices[5] = 9。代表了交易股票的手续费用。返回获得利润的最大值。

2023-11-20 18:09:29 73

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

设计一个算法计算出最大利润。对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

2023-11-20 17:58:35 40

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

随后,在第 5 天 (股票价格 = 0) 的时候买入,在第 6 天 (股票价格 = 3) 的时候卖出, 这笔交易所能获得利润 = 3-0 = 3。在第 2 天 (股票价格 = 2) 的时候买入,在第 3 天 (股票价格 = 6) 的时候卖出, 这笔交易所能获得利润 = 6-2 = 4。在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

2023-11-19 15:28:28 63

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

随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。设计一个算法来计算你所能获取的最大利润。

2023-11-19 15:18:37 82

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

随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在这种情况下, 交易无法获得正利润,所以不参与交易可以获得最大利润,最大利润为 0。

2023-11-18 13:49:41 65

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

在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。在这种情况下, 没有交易完成, 所以最大利润为 0。买入这只股票,并选择在。

2023-11-18 13:36:44 120

原创 337. 打家劫舍 III

之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为。小偷一晚能够盗取的最高金额 3 + 3 + 1 = 7。小偷一晚能够盗取的最高金额 4 + 5 = 9。,小偷能够盗取的最高金额。

2023-11-17 20:47:42 117

原创 213. 打家劫舍 II

你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都。,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。给定一个代表每个房屋存放金额的非负整数数组,计算你。,今晚能够偷窃到的最高金额。

2023-11-16 22:46:04 121

原创 198. 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 2 + 9 + 1 = 12。偷窃到的最高金额 = 1 + 3 = 4。给定一个代表每个房屋存放金额的非负整数数组,计算你。,一夜之内能够偷窃到的最高金额。

2023-11-15 12:15:17 85

原创 56. 携带矿石资源

你是一名宇航员,即将前往一个遥远的行星。在这个行星上,有许多不同类型的矿石资源,每种矿石都有不同的重要性和价值。你需要选择哪些矿石带回地球,但你的宇航舱有一定的容量限制。给定一个宇航舱,最大容量为 C。现在有 N 种不同类型的矿石,每种矿石有一个重量 w[i],一个价值 v[i],以及最多 k[i] 个可用。不同类型的矿石在地球上的市场价值不同。你需要计算如何在不超过宇航舱容量的情况下,最大化你所能获取的总价值。

2023-11-15 10:37:03 58

原创 139. 单词拆分

返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。请你判断是否可以利用字典中出现的单词拼接出。注意,你可以重复使用字典中的单词。返回 true 因为。

2023-11-14 22:11:39 176

原创 279. 完全平方数

是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。的完全平方数的最少数量。

2023-11-13 19:45:34 222

原创 322. 零钱兑换

如果没有任何一种硬币组合能组成总金额,返回。,表示不同面额的硬币;你可以认为每种硬币的数量是无限的。计算并返回可以凑成总金额所需的。

2023-11-13 19:37:01 196

原创 卡码网57. 爬楼梯

题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。

2023-11-12 20:52:12 115

原创 377. 组合总和 Ⅳ

题目数据保证答案符合 32 位整数范围。请注意,顺序不同的序列被视作不同的组合。

2023-11-12 20:29:49 226

原创 518. 零钱兑换 II

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

2023-11-11 10:51:57 75

原创 52. 携带研究材料

小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的空间,并且具有不同的价值。小明的行李空间为 N,问小明应该如何抉择,才能携带最大价值的研究材料,每种研究材料可以选择无数次,并且可以重复选择。接下来包含 N 行,每行两个整数 wi 和 vi,代表第 i 种研究材料的重量和价值。第一行包含两个整数,N,V,分别表示研究材料的种类和行李空间。输出一个整数,表示最大价值。

2023-11-11 10:51:26 86

原创 494. 目标和

返回可以通过上述方法构造的、运算结果等于。一共有 5 种方法让最终目标和为 3。,然后串联起所有整数,可以构造一个。向数组中的每个整数前添加。给你一个非负整数数组。

2023-11-11 10:37:41 62

原创 01背包和完全背包区别

状态与上一层有关(放完i-1个物品之后),如果是正序,先更新第一个背包,到第二个背包的时候,得根据上一层的第一个背包和上一层的自身退出来,但是上一层的第1个背包已经被更新了,如果再拿更新过的来推导出,就会使用同一个物品。过程:先对最后一个背包,从第一个物品开始比较,放入第一个,对于更大的物品,就会覆盖之前的物品,最终导致有且仅有一个物品放入了背包。先背包后物品,那么只会在每一个背包里放0-i个物品的最大值。01背包和完全背包区别在于,对于物品拿一次和多次区别!

2023-11-10 19:39:39 533

原创 474. 一和零

其他满足题意但较小的子集包括 {"0001","1"} 和 {"10","1","0"}。{"111001"} 不满足题意,因为它含 4 个 1 ,大于 n 的值 3。最多有 5 个 0 和 3 个 1 的最大子集是 {"10","0001","1","0"} ,因此答案是 4。最大的子集是 {"0", "1"} ,所以答案是 2。的最大子集的长度,该子集中。给你一个二进制字符串数组。

2023-11-10 17:35:46 63

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

组合 2 和 4,得到 2,所以数组转化为 [2,7,1,8,1],组合 1 和 1,得到 0,所以数组转化为 [1],这就是最优值。组合 7 和 8,得到 1,所以数组转化为 [2,1,1,1],组合 2 和 1,得到 1,所以数组转化为 [1,1,1],,然后将它们一起粉碎。假设石头的重量分别为。如果没有石头剩下,就返回。有一堆石头,用整数数组。

2023-11-10 16:52:19 91

原创 416. 分割等和子集

请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。数组可以分割成 [1, 5, 5] 和 [11]。数组不能分割成两个元素和相等的子集。

2023-11-07 20:30:13 103

原创 如何知道是01背包问题

我对背包问题定义的理解: 给定一个背包容量target,再给定一个数组nums(物品),能否按一定方式选取nums中的元素得到target 注意: 1、背包容量target和物品nums的类型可能是数,也可能是字符串 2、target可能题目已经给出(显式),也可能是需要我们从题目的信息中挖掘出来(非显式)(常见的非显式target比如sum/2等) 3、选取方式有常见的一下几种:每个元素选一次/每个元素选多次/选元素进行排列组合 那么对应的背包问题就是下面我们要讲的背包分类。

2023-11-06 22:58:30 93

空空如也

空空如也

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

TA关注的人

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