自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS/异步-promise和fetch API

在单线处理的命令逻辑中,将耗时较长的程序从queue里拎出来,延迟?时间后,再callback回执行队列里,让该程序的执行不影响其他线性运行的程序。

2023-10-14 13:14:47 185

原创 round1/day25补/子序列

为什么不是i和j为结尾?——判定条件是从i-1开始的,也就是起始于i=0,j=0的情况,而dp[1][1]=dp[0][0]+1。所以要比较最后一位的结果,必须让i=nums1.length,超出nums1数组的长度,才能确保dp[i-1]定位到nums1的最后一个元素。它是以nums[i]为结尾的最长序列,但是并没有讨论如果有比nums[i]更大的数应该取谁,故在每一层的遍历i、得出dp[i]之后,还应该跟一个全局的max值再比较。注意dp数组的定义,是以i-1,j-1为结尾。

2023-10-14 10:48:59 36

原创 round1/day24补/动规/股票问题总结

核心是分状态问题分成两种状态和。

2023-10-14 10:18:18 43 1

原创 round1/day23补/动规/股票问题2

分成两种状态和,再拆分两种子情况:注意理解什么叫“持有”而不是“卖出”什么是-prices[i]?——目的是找到最小的-price[i],让买入值最低。因为一开始和他比较的值就是price[0]的买入价,而不是0。

2023-10-14 10:18:13 43 1

原创 round1/day21&22/动规-股票问题

分成两种状态:dp[0]持有,dp[1]不持有还在用贪心。

2023-10-10 20:59:36 30 1

原创 round1/day20/动规-完全背包总结

*

2023-10-08 20:45:05 30 1

原创 round1/day20/动规-打家劫舍问题

【代码】round1/day20/动规-打家劫舍问题。

2023-10-08 19:51:33 32 1

原创 round1/day19/完全背包02

物品:硬币们coins。物品价值/重量coins[i],物品特性无限使用+组合需去重,物品数量dp[j]因为是求min,所以dp的初始值必须最大化,而不能只用dp[0]=0。遍历nums,完全背包情况3:完全背包-完全装满-求物品最小数量。遍历n里的所有数字,挑出完全平方数数组nums。类似322,多了一个提取完全平方数的步骤。:完全装满背包时,物品的最小数量。- 背包容量:amount总金额。注意不去重:顺序不同的序列可以。

2023-10-04 12:06:58 38 1

原创 round1/day18/动规-完全背包1

物品和背包遍历先后的问题(歪打正着)

2023-10-03 23:14:23 25

原创 round1/day16&17/动规4 - 01背包总结

缓慢理解用意中(感悟+3)

2023-10-01 23:03:15 99

原创 round1/day14&15/动规3-01背包

int[]数组求和:Arrays.stream(nums).sum()转为01背包问题:01背包的应用:注意j遍历的边界,为了步数组越界,需要的是j-stones[i]>=0,即j>=stones[i]

2023-09-30 12:36:39 57

原创 round1/day13补/动规2

还是要建立dp数组思维dp数组的当前步和上一步:之间是什么关系?上一步中哪些元素共同组成了当前步的结果?

2023-09-29 16:47:20 272 1

原创 round1/day12/动规1

注意,这个数组在n=1的时候就会因为数组越界报错,所以要设置if支线。注意遍历dp[i]时的终止位置。

2023-09-25 23:34:46 28 1

原创 round1/day11补/贪心4

还是感觉没有定论,甚至不觉得自己贪心。

2023-09-24 12:41:24 28 1

原创 round1/day10/贪心3

tbc。

2023-09-23 00:20:49 22 1

原创 round1/day9补/贪心2

还没有悟,什么情况下可以判断我在做局部的最优解?什么是局部最优?什么是整体最优?证明局部最优可以导向整体最优吗?

2023-09-22 21:47:38 24 1

原创 round1/day8/贪心1

反证法:假设用除了最优解以外的方法来解决问题,然后与和最优解解决相比较,发现其效果劣于最优解,说明最优解成立。

2023-09-20 23:21:11 25 1

原创 打卡round1/day7/回溯算法:总结

4.2 问:每层遍历中,需要递归的是除了nums[i]的部分,还是nums[i]之后的剩余部分?注意:如果需要在递归中执行操作,如sum、增加字符、改变used[i]=true等,记得回退时一并删除。2.3 情况3: 返回的不是套娃数组,而是二维数组(或转换后的字符串),如棋盘问题。每层遍历返回一条path,经过n层遍历后,return path的集合result。3.2 情况2:以遍历到最后一行/遍历满k个元素作为终止,如返回所有k个数的组合。注意:如果有sum等计算,回退时不要忘记。

2023-09-18 23:25:16 37

原创 打卡round1/day6/回溯算法4-棋盘

tbc。

2023-09-15 22:37:35 68

原创 打卡round1/day4&5【补】/回溯算法3-子集、全排列

tbc。

2023-09-14 10:24:38 69 1

原创 打卡round1/day2&3/回溯算法2-分割

思路重复:首先,然后进行递归,如果不符合条件,就回退到上一个状态,继续尝试其他选择。重点是:要先进入一个正确的选择才能递归,即在里进行递归。

2023-09-10 23:41:30 79

原创 打卡round1/day1/回溯算法1-组合

以[1,2,3,4]中取2个数的组合为例,将排列组合结果以树的方式陈列出来,就会发现,需要记录所有长度为k的path,即套娃遍历for循环要进行k次,每次遍历则需要涵盖本层树上的所有节点,即n/n-1/n-2/...个节点。回溯/递归,本质上是把问题抽象成一个树型结构,然后用树的思路来解决。树是一种思考工具,我们说到树,是基于树这种数据排列方式来进行数据的处理,而不是呆板地视作一种固定的数据结构再来解决它。问:怎么确保遍历的时候不重复收集之前已经录入path的节点?3. 本层树递归时的逻辑怎么写?

2023-09-09 16:55:06 109 1

空空如也

空空如也

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

TA关注的人

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