自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用TexStudio引用,参考文献处是括号{}内的标签

使用TexStudio编译引用参考文献处不是引用的文字,而是参考文献标签。按照以上的顺序编译一次bib文件之后,引用能够正常显示。尝试了很多办法,最终解决,希望给后来人一些参考。工具-》命令-》biber。

2024-03-06 22:10:05 297

原创 DAY41|343. 整数拆分 96.不同的二叉搜索树

【代码】DAY41|343. 整数拆分 96.不同的二叉搜索树。

2023-05-04 21:11:33 225

原创 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

原创 DAY31|455.分发饼干 、376. 摆动序列 、53. 最大子序和

暴力解法 ,超时。

2023-04-17 21:35:35 155

原创 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

原创 DAY28|● 93.复原IP地址 ● 78.子集 ● 90.子集II

排列要考虑元素顺序,但是子集不用考虑,[1,2]和[2,1]是一样的。

2023-04-15 22:43:09 42

原创 DAY27|● 39. 组合总和● 40.组合总和II● 131.分割回文串

这道题也可以套用回溯的公式。因为可以重复使用数组内元素,for循环里backtracking时,不用传入i+1而是i。记住,回溯的精髓在于做了什么操作就要相应的撤销操作!

2023-04-11 20:43:35 78

原创 DAY25|216.组合总和III、17.电话号码的字母组合

【代码】DAY25|216.组合总和III、17.电话号码的字母组合。

2023-04-09 16:37:53 195

原创 DAY24|LeetCode77. 组合

回溯算法

2023-04-08 20:54:57 72

原创 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

原创 DAY17|110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

1、确定输入值和返回值。3、确定单次递归的逻辑。

2023-04-02 22:31:08 46

原创 DAY16|104.二叉树的最大深度 、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

(对来说)是指从根节点到该节点的最长简单路径边的条数;是指从的到该节点的最长简单路径边的条数;是从根节点数到它的叶节点;是从叶节点数到它的根节点;

2023-04-02 19:42:23 194

原创 DAY15|● 层序遍历 226.翻转二叉树 101.对称二叉树 2

和上一题的区别就是,加了一个reverse把result的结果反转一下。

2023-03-30 17:21:38 56

原创 DAY14|二叉树|● 递归遍历 ● 迭代遍历 ● 统一迭代

确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。

2023-03-28 22:11:07 71

原创 DAY13|239. 滑动窗口最大值,347.前 K 个高频元素

这题是hard题,如果没接触过基本很难想到最优解决方法。

2023-03-28 15:01:36 52

原创 DAY11|LeetCode20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

如果第一个表达式的结果为true,则整个表达式结果必定为true,这时候不会再去执行第二个表达式;如果第一个表达式的结果为false,则需要继续执行第二个表达式,只有当第二个表达式也为false时,整个表达式才会返回false。如果第一个表达式的结果为false,则整个表达式结果必定为false,这时候不会再去执行第二个表达式;如果第一个表达式的结果为true,则需要继续执行第二个表达式,只有当第二个表达式也为true时,整个表达式才会返回true。第三种情况,字符串里右方向的括号多余了,所以不匹配。

2023-03-27 17:13:51 72

原创 DAY10|LeetCode232.用栈实现队列,225. 用队列实现栈

日常练习

2023-03-25 21:53:04 103 3

原创 DAY8|LeetCode344.反转字符串、541. 反转字符串II、 剑指Offer 05.替换空格、151.翻转字符串里的单词、 剑指Offer58-II.左旋转字符串

刷题

2023-03-23 21:59:40 80

原创 DAY7|LeetCode454.四数相加II ,383. 赎金信 ,15. 三数之和 ,18. 四数之和

刷题日常

2023-03-22 15:01:26 36

原创 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

原创 DAY4|LeetCode24.两两交换链表中的节点,19.删除链表的倒数第N个节点,07. 链表相交 ,142.环形链表II

练习DAY4

2023-03-19 21:51:14 486

原创 DAY3|LeetCode203.移除链表元素 、707.设计链表、206.反转链表

刷题日常

2023-03-17 12:49:43 26

原创 DAY2|LeetCode977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

DAY2

2023-03-16 20:24:42 114

原创 DAY1|LeetCode704二分查找、LeetCode27移出元素

力扣704二分查找、27移除数组

2023-03-15 22:20:25 54

原创 python随机划分训练集测试集

根据注释改成自己的路径,运行结束就可以得到自己随机划分的训练集和测试集了。利用python划分训练集和测试集方法如下。

2023-03-06 21:54:00 966 1

空空如也

空空如也

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

TA关注的人

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