- 博客(169)
- 收藏
- 关注
原创 leecode100-完全平方数-动态规划
由于我们计算dp[i][j]的时候,不需要dp[ i , j - i * i - 1]的部分,我们只需要dp[ i , j - i * i ]的部分,dp[j]表示,和为j的平方数的最小值。因此可以只用一维数组存储。
2026-03-25 09:48:12
29
原创 leecode-爬楼梯-动态规划
当我们求dp[n]的时候,回想,如果我们还剩一个阶梯,那就dp[i-1]种解法,如果还剩两个阶梯,那就是dp[i-2]*2种解法,因为此时可以2 或者1 1。但注意,此时1 1的解法以及被包含在dp[i-1]里了,所以只需要将两者相加就可以了。
2026-03-25 09:05:50
32
原创 leecode-灌溉花园-贪心算法and动态规划
将花园的灌溉点看作区间,建立一个数组存储这些区间,即数组下标表示左区间,数组存储右区间。贪心算法,last记录在当前区间中,再选择1个区间未来能到达的最远距离,cur记录当前选择了的区间们的右边距。当i到达cur的时候,就需要增加选择的区间了。如果增加了区间,都还停留原地,即走不动了,那就是无法到达终点。即i==last,已经到达最远点。
2026-03-24 14:52:35
81
原创 leecode100-跳跃游戏2-贪心算法
对于位置i来说,假设目前我们能到达的最远边是cur_right,为了能够到达最远方,我们肯定需要在在i到cur_right中选择一个位置进行建桥;注意,无论选择哪个位置,那么从该位置到针对该位置的最远桥next_right的之间位置都是到达;因此,只要每次选择位置的时候,我们都选择next_right最远的那个就可以了;我们不需要考虑具体选择哪个,我们只要维护好最远next_right的就行,以及记录建桥次数。
2026-03-24 11:05:38
55
原创 leecode100-跳跃游戏-贪心算法
那我们就只需要根据nums[i],获得最远点j,然后根据i-j中间的位置,不断去更新最远点j就可以了。分析题目情况,如果我们能根据nums[i],跳到最远点j,那么i-j之间的位置都可以到达,题目要求判断,是否能抵达终点,
2026-03-24 10:39:08
48
原创 leecode100-买卖股票的最佳时期-贪心算法
思路:有题目可知,针对每一个price[i],找到对于它来说,右边的最大值price[j],获得max(price[j]-price[i])即可。
2026-03-24 10:28:46
60
原创 leecode100——接雨水
使用参数存储从左往右(从右往左同理)遍历时的最高的柱子,然后移动左右的指针,每次移动左右指针中偏向小的,如果当前指针指的柱子小于最高的柱子,就会存在接到水。
2025-09-08 13:12:53
196
原创 leecode100-第35题-二叉树的中序遍历-递归、迭代、莫里斯
迭代和递归没什么好讲的。莫里斯的核心想法:“ 消除 ” 某个子节点,这样二叉树就变成了一个链表,然后遍历输出u就可以了。那么问题就是怎么消除?思考一下:我们是想实现中序遍历,因此在形成的链表中,顺序就应该是:左子节点->跟节点->右子节点如果我们能把所有的跟节点及其右子树都变成左子节点的右子节点,那么就实现了基本的“ 消除 ” 某个子节点,形成了链表但是具体应该怎么消除呢?莫里斯的做法是:就将跟节点连带右子树全部挂到左节点的最右子树下面。
2025-07-04 14:03:48
338
原创 leecode100-第26题-回环链表2
题目不仅要判断是否存在环,还要返回环的起点节点。快慢指针寻找环如图所示abn∗bc,fast_p走过的路程是abm∗bc。已知abn∗bc))∗2abm∗bc,简化得:acm−2n−1∗bc这个等式的含义就是,从 链表head 到 环head 的长度=快慢指针相遇点 到 环head的长度+ 环长度*某个未知数。因此我们可以写出等价代码:当快慢指针相遇的时候,我们使用一个指针pos指向链表的head,
2025-07-03 16:17:35
690
原创 leecode100-第22题目-相交链表
使用 双指针,分别从两个链表的头部出发:• 指针 p1 走 headA → headB• 指针 p2 走 headB → headA当它们相遇时,不论是:• 在某个交点相遇 ✅• 或都指向 None ❌(说明无交点)都可以在 p1 == p2 的时候退出循环。
2025-07-02 20:23:10
195
原创 pytorch配置安装 ninja报错:ninja: build stopped: subcommand failed or RuntimeError: Error compiling objects
安装成功后,结合另外一个操作,就安装成功了。所以搞了两天,就是因为少下了一个包,哭了。顺便去学习下ninja是啥。
2024-07-04 18:47:49
1614
原创 【已解决】: fatal error: cuda_runtime_api.h: No such file or directory
因为我要使用的是cuda-11.3,因此复制该路径。既然他找不到,我们就把路径给他写清楚!
2024-07-04 17:01:20
2481
1
原创 一些loss和指标记录_python实现
2 Lpips_loss感知损失,符合人眼的损失输入网络提取特征,计算L2距离,算平均。3 PSNR全称:peak signal-to-Noise Ratio 峰值信噪比定义:给定大小为n∗mn*mn∗m的标签图片III和模型输出图片KKK:rgb情况下计算PSNR的代码:4 SSIM全称:Structural Similarity 结构相似性5.3 判别器的loss注意,计算判别器的loss,由有部分组成。两个输入,real_img和fake_img。6 FID指标FID指标:用于衡
2024-04-10 13:15:44
1282
1
原创 MAC 的vscode菜单栏怎么调?
我去,这个bug找到了半天,终于找到正解了,仅记录,为广大和我一样不熟悉mac的兄弟们避坑。正解:mac的vscode的菜单栏在屏幕最顶上,不用调出来,人家一直都有。
2024-03-04 19:19:29
4229
7
原创 python参数保存和加载load和load_state_dict
【代码】python参数保存和加载load和load_state_dict。
2024-01-21 12:19:33
735
1
原创 修改vs中python的默认环境
文件——>首选项——>设置输入python——>点击用户——>点击python——>找到默认python路径,输入你想要的默认环境即可
2023-12-06 10:43:49
650
原创 nn.AdaptiveAvgPool2d(output_size)输入和输出怎么回事?
函数作用:自适应进行平均池化。不用管输入、stride、padding,函数参数只有输出大小,其他的这个函数帮你搞定。问题就是,我想知道他是咋搞定的?
2023-12-04 17:10:36
1977
原创 【Retinex theory】【图像增强】【python实现】-笔记
retinex 是常见的图像增强的方法,retinex 是由两个单词合成的:retina + conrtex ,即视网膜+皮层。
2023-10-15 13:43:23
3527
2
原创 leetcode_第17题_缺失的第一个正数——原地哈希
比如:1 2 3 4 5。如果数组里有不正常数字4 5 3 -1,就会出现 -1 5 3 4,即 3 4 位置正确。的地方,不正常数字不管。(正常数字是指,值∈[1,len])最后遍历一遍,找到最小的 i!=nums[i]即可。正常思路:另外制作一个哈希表,然后遍历就ok。这样,如果一个数组里都是正确的数字,就会出现。但是这样不符合题目空间复杂度要求,所以采用。交换存储到下标位置为。
2023-07-10 15:38:11
501
原创 leecode-下一排列
那就是从右到左开始遍历寻找第一次递减(这里指从右看是递减)的那个数字,例子中就是4(因为只有递减了,即4 后面有比自己大的数字,这个数字才能被交换到4的位置,成为下一排列)妈呀,其实我直接调用函数,一行代码就通过了hhh,不过这种取巧的方式不可取,还是得老老实实的写。既然是下一排列,那么肯定从某一数字开始,下一排列的数字更大,那么这个位置是怎么确定的呢?大的最小的数就可以了。(因为一定递减(这里指从右看是递减),因此从后往前遍历到第一个比。后的数组进行一个排序(因为原本是递减的,所以直接反转就可以了)
2023-06-28 16:25:27
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅