自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DAY 58 动态规划

● 392.判断子序列● 115.不同的子序列。

2023-07-17 19:38:13 153

原创 DAY 57 动态规划

dp[i][j]:text1中前i个元素和text2中前j个元素的最长公共子序列dp[i]:nums[0]~nums[i]的最大和的连续子数组的和。

2023-07-10 19:29:22 164

原创 DAY 56 动态规划

dp[i]指以nums[i]结尾的最长递增子序列的长度dp[i]指以nums[i]结尾的最长且连续递增子序列的长度dp[i][j]指nums1中前i个元素和nums2中前j个元素的最长重复子数组长度。

2023-07-10 15:50:46 159

原创 DAY 55 动态规划

由于含有冷冻期,故dp[i][1]的第一种情况:dp[i-1][1];第二种情况:今天买入,则考虑冷冻期,前天卖出 dp[i - 2][0] - prices[i]dp[i][1]的第一种情况:dp[i-1][1];第二种情况:今天买入, dp[i - 1][0] - prices[i] - fee。dp[i][0]第一种:dp[i-1][0],第二种:dp[i - 1][1] + prices[i]dp[i][0]第一种:dp[i-1][0],第二种:dp[i - 1][1] + prices[i]

2023-07-07 16:07:55 127

原创 DAY 53 动态规划

要点:用三维dp做推导,注意递推公式和初始化。

2023-07-07 15:20:55 72

原创 DAY 52 动态规划

1.第i天不持有股票:dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] + prices[i]);1.第i天不持有股票:dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] + prices[i]);2.第i天持有股票:dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] - prices[i]);则所求为max(dp[n-1][0],dp[n-1][1]) = dp[n-1][0],显然,不持有股票时的利润高。

2023-07-05 23:17:06 74

原创 DAY 51 动态规划

每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。① 抢 i - 1 ,则 i - 2 一定不抢,则dp[i] = dp[i - 2] + nums[start + i - 1]① 抢 i - 1 ,则 i - 2 一定不抢,则dp[i] = dp[i - 2] + nums[i - 1]②不抢 i - 1 ,则看 i-2 的情况即可 dp[i] = dp[i - 1]dp[i] 给定数组的前i家抢到的最大金额。

2023-07-05 19:55:49 86

原创 DAY 48 完全背包

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target。给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。情形二:物品可以放入背包—— ① 不放入:dp[i - 1][j];情形一:物品不可以放入背包——dp[i][j] = dp[i-1][j]选择前 0 个硬币,装容量 j 大于1的背包,dp[0][j] = 0。dp[i][j] 前 i 个硬币可以凑成总金额为 j 的组合数。背包容量为0,选择前 i 个硬币,dp[i][0] = 1。

2023-07-03 21:02:33 85

原创 DAY46 背包

情形二:背包容量足够,物品可选择是否装入背包dp[i][j]=max(dp[i-1][j],dp[i-1][j-nums[i-1]]+nums[i-1])情形一:背包容量不足,物品无法装入背包 if (nums[i-1] > j) dp[i][j]=dp[i-1][j]情形二:背包容量足够,dp[i][j]=dp[i-1][j] + dp[i-1][j-nums[i-1]]dp[i][j]:nums中前i个元素得到和为j的子集有dp[i][j]种划分方法。第二层:重量遍历,石头重量大于0,j=1;

2023-07-01 16:48:39 153

原创 DAY 45 动态规划:背包

给你一个可装载重量为 W 的背包和 N 个物品,每个物品有重量和价值两个属性。其中第 i 个物品的重量为 wt[i],价值为 val[i],现在让你用这个背包装物品,最多能装的价值是多少?

2023-06-29 23:34:26 75

原创 DAY 44 动态规划

dp[i]表示整数 i 拆分的最大乘积是 dp[i]dp[i] ,由i个节点组成的二叉搜索树有 dp[i] 种。

2023-06-28 23:38:24 79

原创 muduo-01 IO的阻塞和非阻塞

用户线程不断的发起 read 调用,数据没到内核空间时,每次都返回失败,直到数据到了内核空间,这一次 read 调用后,在等待数据从内核空间拷贝到用户空间这段时间里,线程还是阻塞的,等数据到了用户空间再把线程叫醒。用户线程发起 read 调用的同时注册一个回调函数,read 立即返回,等内核将数据准备好后,再调用指定的回调函数sigio完成处理。内核等待网卡数据到来,把数据从网卡拷贝到内核空间,接着把数据拷贝到用户空间,再把用户线程叫醒。用户线程read 立即返回,等内核将数据准备好后,通知用户线程。

2023-06-27 17:07:01 70

原创 DAY 43动态规划

机器人试图达到网格的右下角(在下图中标记为 “Finish” )。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。dp[i][j]:到达下标(i,j)有dp[i][j]种不同路径#### 2.dp递推公式。dp[i][j]:到达下标(i,j)有dp[i][j]种不同路径。逐行逐列,从上到下,从左到右。

2023-06-27 14:09:09 335

原创 DAY42动态规划

给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。dp[i] 实际代表第 i 级台阶的水平线,即站在第 i 级台阶前还没有向上跳。F(n) = F(n - 1) + F(n - 2),其中 n > 1。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。dp[i] :有dp[i]种方法爬到第 i 级楼梯上。dp[i + 1],到达第i个台阶之上所需最低花费。dp[i]:i 对应的斐波那契数为 F(i)解释:你将从下标为 1 的台阶开始。

2023-06-26 23:27:37 159

原创 DAY64 单调栈

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。1.保证栈内由栈顶向栈底单增,这样在新元素入栈时,若新元素大于栈顶元素,则找到右侧封口元素;1.栈顶到栈底是递减的,此时,若新元素是栈顶元素右侧的凸,则其值小于栈顶元素,形成凸出;对于位置i,它参与的最大矩形,由其高度,与左右两侧第一个低于他的凸处决定。按行计算雨水大小,需要凹槽,包括最低元素和左右两侧高的元素。3.凹槽的高度,左右两侧封口的较小值减去凹槽底部高度,凸的宽度:右侧下标-左侧下标-1;

2023-06-23 21:56:21 41

原创 DAY 63单调栈day2

对于双指针方法,更新left指向元素的左侧最大值,更新right指向元素的右侧最大值。同理,对于right指向的元素,如果右侧高度更低,说明左侧肯定有比这个高度更高的柱体,所以考虑r_max,更新结果并移动right指针即可。数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。② 栈顶元素<当前元素,栈顶元素右侧第一个比他大的数就是当前元素,更新栈顶元素对应的结果,重复此过程,直至满足当前元素入栈结果。

2023-06-20 20:50:39 37

原创 DAY62 单调栈day1

对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素。将nums1中元素加入unordered_map,对nums2处理时,判断是不是所求的nums1中有的元素,如果有,则进行求解,否则不必更新result。使用单增栈,且result初始化为-1,大小为nums1大小——如果不存在下一个更大元素,那么本次查询的答案是 -1。3.重复,至满足当前元素入栈条件,当前元素入栈。

2023-06-19 16:27:03 35

原创 代码随想录DAY32:回溯

回溯

2023-02-20 23:01:00 36

原创 代码随想录DAY31:回溯

回溯

2023-02-20 22:52:31 42

原创 代码随想录DAY30:回溯

回溯:组合

2023-02-17 20:55:34 59

原创 代码随想录DAY29:回溯

回溯:组合

2023-02-17 20:36:27 53

原创 代码随想录DAY24:回溯

回溯:组合

2023-02-17 20:23:07 64

原创 代码随想录DAY23:二叉树

二叉树

2023-02-13 21:36:32 36

原创 代码随想录DAY22:二叉树

二叉树

2023-02-13 20:09:07 37

原创 代码随想录DAY21:二叉树

二叉树

2023-02-13 19:29:56 62

原创 代码随想录DAY20:二叉树

二叉树

2023-02-11 15:40:34 42

原创 代码随想录DAY18:二叉树

二叉树

2023-02-10 00:01:06 29

原创 代码随想录DAY17:二叉树

二叉树

2023-02-08 22:49:25 37

原创 代码随想录DAY16:二叉树

二叉树

2023-02-07 22:54:44 35

原创 代码随想录DAY15:二叉树

二叉树的层序遍历:递归法、迭代法

2023-02-06 21:42:01 98

原创 代码随想录DAY14:二叉树

二叉树

2023-02-03 16:09:42 41

原创 代码随想录DAY13:栈与队列

栈与队列

2023-02-02 21:31:28 77

原创 代码随想录Day11:栈与队列

栈与队列

2023-01-31 17:39:22 59

原创 代码随想录Day10:栈与队列

栈与队列

2023-01-17 22:46:58 71

原创 代码随想录Day8:字符串

字符串

2023-01-09 21:10:50 127

原创 代码随想录Day7:哈希

哈希

2023-01-08 22:46:10 38

原创 代码随想录Day6:哈希

哈希

2023-01-08 16:31:18 41

原创 代码随想录Day4:链表

链表

2023-01-07 16:05:00 50

原创 代码随想录Day3:链表

链表

2023-01-06 22:06:13 33

原创 代码随想录Day2:数组

数组

2023-01-01 22:11:08 614

空空如也

空空如也

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

TA关注的人

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