- 博客(30)
- 收藏
- 关注
原创 使用TexStudio引用,参考文献处是括号{}内的标签
使用TexStudio编译引用参考文献处不是引用的文字,而是参考文献标签。按照以上的顺序编译一次bib文件之后,引用能够正常显示。尝试了很多办法,最终解决,希望给后来人一些参考。工具-》命令-》biber。
2024-03-06 22:10:05 297
原创 DAY39|62.不同路径 ● 63. 不同路径 II
算法的核心思想是使用二维数组dp来记录每个位置到达终点的不同路径数。首先,我们将数组的第一行和第一列都初始化为1,因为在这些位置上,到达终点的路径只有一条,即向右或向下。然后,我们按照顺序遍历二维数组中的每个元素,计算到达当前位置的不同路径数。具体地,当前位置的路径数等于从它上方的位置到达它的路径数加上从它左侧的位置到达它的路径数。最终,到达终点的不同路径数即为dp[m-1][n-1]。
2023-04-24 22:43:43 436
原创 DAY38|509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
算法中使用一个动态规划数组dp,其中dp[i]表示爬到第i个楼梯所需的最小代价。初始状态为dp[0]=0, dp[1]=0。从第2个楼梯开始,每次转移时,可以选择从前一个楼梯爬上来或者从前两个楼梯爬上来,取其中代价最小的那个方案,并将其保存到dp[i]中。还有就是dp[i - 2],上i-2层楼梯,有dp[i - 2]种方法,那么再一步跳两个台阶不就是dp[i]。首先是dp[i - 1],上i-1层楼梯,有dp[i - 1]种方法,那么再一步跳一个台阶不就是dp[i]。这道题与上一题有异曲同工之妙。
2023-04-23 21:41:37 201
原创 DAY32|122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
此题可以把利润分解成若干小段的利润,假如第0天买入,第3天卖出,那么利润为:prices[3] - prices[0]。相当于(prices[3] - prices[2]) + (prices[2] - prices[1]) + (prices[1] - prices[0])。计算相邻数之间的差值,把正数相加就可以得到最大利润。
2023-04-18 10:49:37 91
原创 DAY29|491.递增子序列、46.全排列、47.全排列 II
具体来说,backtracking函数接受两个参数,一个是数组nums,一个是startIndex表示从哪个位置开始寻找递增子序列。该函数内部使用了一个vector<int> vec来存储当前找到的递增子序列,使用了一个unordered_set<int> uset来判断当前数是否已经使用过。如果vec中已经有元素且当前元素小于vec中的最后一个元素,或者当前元素已经被使用过,则直接跳过这个元素,否则将当前元素加入vec中,继续向后搜索,直到达到数组末尾或者vec中的元素个数达到2为止。
2023-04-16 21:08:55 76
原创 DAY27|● 39. 组合总和● 40.组合总和II● 131.分割回文串
这道题也可以套用回溯的公式。因为可以重复使用数组内元素,for循环里backtracking时,不用传入i+1而是i。记住,回溯的精髓在于做了什么操作就要相应的撤销操作!
2023-04-11 20:43:35 78
原创 DAY23|669. 修剪二叉搜索树 、108.将有序数组转换为二叉搜索树 、 538.把二叉搜索树转换为累加树
【代码】DAY23|669. 修剪二叉搜索树 、108.将有序数组转换为二叉搜索树 、 538.把二叉搜索树转换为累加树。
2023-04-08 20:34:14 54
原创 DAY22|Leetcode235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点
本题可以利用二叉搜索树的特性,定义指针cur遍历二叉树,如果cur->val在[q->val,p->val]区间,则认定该点为二叉搜索树的公共祖先(注意,为左闭右闭区间)
2023-04-06 21:51:49 69
原创 DAY21|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数 、236. 二叉树的最近公共祖先
遇到在二叉搜索树上求什么最值,求差值之类的,都要思考一下二叉搜索树可是有序的,要利用好这一特点。所以这题首先可以把有序二叉树转化成有序数组,然后计算相邻数的差值,计算出最小差值输出就可以了。双指针法。
2023-04-04 23:22:52 50
原创 DAY20|654.最大二叉树、 617.合并二叉树 、700.二叉搜索树中的搜索、 98.验证二叉搜索树
具体思路:如果nums数组里只有一个元素,则直接返回该node。定义一个maxvalue和index记录最大值和下标,构建左子树,如果index大于0则进入递归;index小于nums.size()进入递归构建右子树。最后返回node。
2023-04-03 17:42:09 55
原创 DAY16|104.二叉树的最大深度 、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数
(对来说)是指从根节点到该节点的最长简单路径边的条数;是指从的到该节点的最长简单路径边的条数;是从根节点数到它的叶节点;是从叶节点数到它的根节点;
2023-04-02 19:42:23 194
原创 DAY14|二叉树|● 递归遍历 ● 迭代遍历 ● 统一迭代
确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。
2023-03-28 22:11:07 71
原创 DAY11|LeetCode20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值
如果第一个表达式的结果为true,则整个表达式结果必定为true,这时候不会再去执行第二个表达式;如果第一个表达式的结果为false,则需要继续执行第二个表达式,只有当第二个表达式也为false时,整个表达式才会返回false。如果第一个表达式的结果为false,则整个表达式结果必定为false,这时候不会再去执行第二个表达式;如果第一个表达式的结果为true,则需要继续执行第二个表达式,只有当第二个表达式也为true时,整个表达式才会返回true。第三种情况,字符串里右方向的括号多余了,所以不匹配。
2023-03-27 17:13:51 72
原创 DAY8|LeetCode344.反转字符串、541. 反转字符串II、 剑指Offer 05.替换空格、151.翻转字符串里的单词、 剑指Offer58-II.左旋转字符串
刷题
2023-03-23 21:59:40 80
原创 DAY6|LeetCode242.有效的字母异位词,349. 两个数组的交集 , 202. 快乐数,1. 两数之和
这道题,求n每位数的平方的地方,我先入为主默认这个数一定是两位数,求和写成了sum = (n % 10) * (n % 10) + (n / 10) * (n / 10);2、遍历s字符串,将 s[i] - ‘a’ 所在的元素做+1 操作即可,不需要记住字符a的ASCII,只要求出一个相对数值。利用这个思想设定一个unordered_set哈希表,如果结果重复出现了,则返回false,出现1了,返回ture。输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的, 同时可以不考虑输出结果的顺序。
2023-03-21 13:37:27 303
原创 python随机划分训练集测试集
根据注释改成自己的路径,运行结束就可以得到自己随机划分的训练集和测试集了。利用python划分训练集和测试集方法如下。
2023-03-06 21:54:00 966 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人