- 博客(13)
- 收藏
- 关注
原创 leetcode96 不同二叉搜索树
2.遍历前i个节点,选择j-1个作为作为左子树,另外n-j个作为右子树。难点:找到递推关系 dp[i]+=dp[j-1]*dp[i-j]dp[i]:i个不同节点组成的二叉搜索树数量。1.遍历n个节点,选择其第i个作为头节点。
2025-05-30 16:56:14
142
原创 leetcode63不同路径||
1. dp[i][j]代表从0,0出发到达i,j有dp[i][j]条不同路径。dp[i][j]=dp[i-1][j]+dp[i][j-1]3.双层for循环遍历整个矩阵,dp[i][j]=dp[i-1][j]+dp[i][j-1]更新整个所有节点的dp;2.初始化所有dp[i][j]=0,横向、纵向直走,直到不能继续往后走,最后一个节点的dp[i][j]=1。遇到障碍物时continue跳出本层循环。
2025-05-30 11:16:01
172
原创 leetcode406
比较函数的理解:people是一个二维容器,a和b都是一个只有两个元素的一维容器,因此使用a和b来代表people中的两个元素,身高较大的排在前面,身高相等的那么下标小的在前面。其中,position代表排完序后第i个元素的下标,按照下标向que容器中插入元素即可得到最后想要的身高序列。思路:先按照身高大小从高到低排序,再按照下表从低到高排序。
2025-05-19 11:54:59
165
原创 leetcode135 分发糖果
注意:此时的左节点糖果数量可能在第一轮遍历的时候增加过,存在candyVec[i]>candyVec[i+1]+1的情况,所以更新candyVec[i]=max(candyVec[i],candyVec[i+1]+1)。1.先从前到后遍历一遍,ratings[i]和ratings[i-1]比较,更新右节点的糖果数量等于左节点数量加一,candyVec[i]=candyVec[i-1]+1;2.再从后往前遍历一遍,ratings[i]和ratings[i+1]比较,更新左节点的糖果数量。
2025-05-15 16:52:30
142
原创 leetcode134加油站
假设[0,i]中有一点j,使得以[j,i]的cursum>0,那么必有[0,j]的cursum<0。那么在遍历到j的时候就无法继续往后走了,需要以j+1为新起点往后遍历,不会有遍历[0,i]的情况。用for循环从下标0开始遍历数组,cursum记录走完起点到i节点路径所剩油量,cursum<0即无法继续往后走,此时以i+1的位置为起点开始遍历数组,将cursum重置为0;totalsum记录遍历完i个节点后的油量,不需要更新,在for结束后,判断cursum是否<0,不小于0即代表可以顺利的走完一圈。
2025-05-15 16:22:02
193
原创 day2 linux固定ip地址后无法远程连接、无法ping通的问题
网上的解决办法搜了一堆,都没有解决,后来发现要在虚拟机网络设置中勾选上NAT设置!之后就可以正常的连接finalshell了。
2024-12-09 14:49:06
229
原创 linux学习笔记(day1)
rm 删除 -f强制执行。more 分页查看文件。ls查看当前目录内容,-a显示隐藏内容。mkdir 创建文件夹。pwd 显示当前路径。touch 创建文件。
2024-12-06 22:03:47
167
原创 383赎金信
发现问题,当ransom和magzine长度相等且有部分交集时,最后的if语句无法准确判断,应当改写为以下的操作,将ransom放在内循环中,当ransomNote[i]=magazine[j]时,删除ransomNote[i],最后以ransom.length==0作为判断条件。
2024-11-21 23:30:54
245
原创 今天开始hash表学习(leecode242有效字母异位词)
开始的想法是用两轮for循环暴力求解,仔细思考后发现需要改进,外层遍历s串,内层遍历t串,但是遍历之后需要将t串匹配到的元素删除,这部操作不好处理。给定两个不同的字符串,判断是否是异位词。
2024-09-12 16:34:26
182
原创 链表相交找公共节点
1.在链表A和B的指针谁先走的问题上处理不好,简单的使用if else来判断谁长谁指针先走;2.使用while循环遍历链表长度后,没有将指针回归到头节点的位置。
2024-09-10 22:21:40
293
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅