- 博客(55)
- 收藏
- 关注
原创 python基础 | 2.A+B问题II
判断值是否小于100,如果小于100,则继续计数;如果等于100,则结束计数。:如果本次计数值小于100,则+1。while循环都会包含以下三个。
2024-05-11 01:19:41
313
原创 python基础 | 1.A+B问题I
字符串类型string:使用单引号或者双引号表示一段文本数据。数字类型:整数类型int, 浮点数类型float。布尔数值类型:True or False。
2024-05-11 00:40:30
122
1
原创 代码随想录算法训练营第五十三日| ● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划
53. 最大子序和 动态规划。
2022-12-22 09:03:11
239
原创 代码随想录算法训练营第五十二日| LC300.最长递增子序列 LC674. 最长连续递增序列 LC718. 最长重复子数组
LC718. 最长重复子数组。674. 最长连续递增序列。
2022-12-17 05:34:54
213
原创 代码随想录算法训练营第五十一日| LC309.最佳买卖股票时机含冷冻期 LC714.买卖股票的最佳时机含手续费
LC714.买卖股票的最佳时机含手续费。
2022-12-16 05:15:09
159
原创 代码随想录算法训练营第四十九日| LC121. 买卖股票的最佳时机 LC122.买卖股票的最佳时机II
LC122.买卖股票的最佳时机II。121. 买卖股票的最佳时机。
2022-12-14 09:33:35
188
原创 代码随想录算法训练营第四十八日| LC198.打家劫舍 LC213.打家劫舍II LC337.打家劫舍III
【代码】代码随想录算法训练营第四十八日| LC198.打家劫舍 LC213.打家劫舍II LC337.打家劫舍III。
2022-12-13 06:22:12
118
原创 代码随想录算法训练营第四十六日| LC139.单词拆分 背包问题总结
问能否能装满背包(或者最多装多少):dp[j] = max(dp[j], dp[j - nums[i]] + nums[i]);问背包装满最大价值:dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);问装满背包所有物品的最小个数:dp[j] = min(dp[j - coins[i]] + 1, dp[j]);问装满背包有几种方法:dp[j] += dp[j - nums[i]]LC139.单词拆分。
2022-12-12 05:17:14
116
原创 代码随想录算法训练营第四十五日| LC70. 爬楼梯 (进阶) LC322. 零钱兑换 LC279.完全平方数
LC70. 爬楼梯 (进阶)本题使用完全背包的方法来进行。LC279.完全平方数。
2022-12-10 04:22:01
116
原创 代码随想录算法训练营第四十三日| LC1049. 最后一块石头的重量 II LC494. 目标和 LC474.一和零
LC1049. 最后一块石头的重量 IILC494. 目标和LC474.一和零
2022-12-08 09:31:54
143
原创 代码随想录算法训练营第三十八日| LC509. 斐波那契数 LC70. 爬楼梯 LC746. 使用最小花费爬楼梯
动规五部曲: LC509. 斐波那契数LC70. 爬楼梯:LC746. 使用最小花费爬楼梯
2022-12-03 08:01:47
174
原创 代码随想录算法训练营第三十六日| LC435. 无重叠区间 LC763.划分字母区间 LC56. 合并区间
LC763.划分字母区间。LC56. 合并区间。
2022-12-01 04:16:25
226
原创 代码随想录算法训练营第三十五日| LC860.柠檬水找零 LC406.根据身高重建队列 LC452. 用最少数量的箭引爆气球
插入[4,4]:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]插入[5,2]:[[5,0],[7,0],[5,2],[6,1],[7,1]]插入[5,0]:[[5,0],[7,0],[6,1],[7,1]]插入[6,1]:[[7,0],[6,1],[7,1]]情况二:账单是10,消耗一个5,增加一个10。插入[7,1]:[[7,0],[7,1]]LC452. 用最少数量的箭引爆气球。插入[7,0]:[[7,0]]LC406.根据身高重建队列。LC860.柠檬水找零。
2022-11-30 03:30:29
581
原创 代码随想录算法训练营第三十四日| LC1005.K次取反后最大化的数组和 LC134. 加油站 LC135. 分发糖果
当前累加rest[j]的和curSum一旦小于0,起始位置至少要是j+1,因为从j开始一定不行。全局最优:找到可以跑一圈的起始位置。LC1005.K次取反后最大化的数组和。LC135. 分发糖果。LC134. 加油站。
2022-11-29 03:52:07
70
原创 代码随想录算法训练营第三十二日| LC122.买卖股票的最佳时机II LC55. 跳跃游戏 LC45.跳跃游戏II
要从覆盖范围出发,不管怎么跳,覆盖范围内一定是可以跳到的,以最小的步数增加覆盖范围,覆盖范围一旦覆盖了终点,得到的就是最小步数!贪心算法局部最优解:每次取最大跳跃步数(取最大覆盖范围),整体最优解:最后得到整体最大覆盖范围,看是否能到终点。这里需要统计两个覆盖范围,当前这一步的最大覆盖和下一步最大覆盖。局部最优:收集每天的正利润,全局最优:求得最大利润。LC45.跳跃游戏II。LC55. 跳跃游戏。
2022-11-28 05:43:58
168
原创 代码随想录算法训练营第三十一日| LC455.分发饼干 LC376. 摆动序列 LC53. 最大子序和
遍历nums,从头开始用count累积,如果count一旦加上nums[i]变为负数,那么就应该从nums[i+1]开始从0累积count了,因为已经变为负数的count,只会拖累总和。区间的终止位置,其实就是如果count取到最大值了,及时记录下来了。这样相当于是用result记录最大子序和区间和(变相的算是调整了终止位置)这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。局部最优的情况下,并记录最大的“连续和”,可以推出全局最优。LC53. 最大子序和。
2022-11-26 06:21:01
93
原创 代码随想录算法训练营第二十九日|LC491.递增子序列 LC46.全排列 LC47.全排列 II
首先要确定终止条件,当path大于2时,才记录!然后要创建一个新set来记录是否有重复元素出现,如果当前元素小于path最右边元素 或 曾经使用过该元素,则直接跳过。因为本题排列是有序的,这意味着同一层的元素可以重复使用,但同一树枝上不能重复使用 所以处理排列问题每层都需要从头搜索,故不再使用start_index。LC47.全排列 II。
2022-11-24 04:40:30
175
原创 代码随想录算法训练营第二十七日|LC39. 组合总和 LC40.组合总和II LC131.分割回文串
LC40.组合总和II。LC39. 组合总和。
2022-11-22 04:45:16
177
原创 代码随想录算法训练营第二十五日| LC216.组合总和III LC17.电话号码的字母组合
LC216.组合总和III:LC17.电话号码的字母组合
2022-11-21 11:21:13
195
原创 代码随想录算法训练营第二十四日| LC77 组合
回溯法解决的问题都可以抽象为树形结构,因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。递归函数的返回值及参数。
2022-11-21 10:33:14
138
原创 代码随想录算法训练营第二十二日|LC235. 二叉搜索树的最近公共祖先 LC701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点
如果当前root比q和p都大,那证明公共节点在root的左子树里,相反,如果root比p和q小,那说明公共节点在root的右子树里。
2022-11-18 04:05:33
97
原创 代码随想录算法训练营第二十日|LC654.最大二叉树 LC617.合并二叉树 LC700.二叉搜索树中的搜索 LC98.验证二叉搜索树
首先搞清楚二叉搜索树的定义,右子树的节点>根结点>左子树的节点。所以在本题中,如果根节点比val大,那么说明val值应该在该根节点的左子树里,反之,在右子树里。终止条件为两种:root为空或者root等于val,都返回val。注意终止条件的判断,但凡一棵树的节点为空,就返回另外一棵树,因为两树的遍历步骤是一摸一样的,如果都为none,那么就直接返回none。用中序遍历然后将结果储存到数组中,再判断数组是否为有序,就可以得知是否为二叉搜索树。先掌握递归做法,比较好理解,在进行递归时注意最大值左右范围。
2022-11-15 08:42:28
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人