![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
WhyNot?
道阻且长,行则将至。
展开
-
平衡括号串:操作数和右括号需求数的维护过程
如果知识判断合法括号,以及一个左括号对应一个右括号的最少插入次数,都是比较简单的。。原创 2024-04-11 17:46:13 · 348 阅读 · 0 评论 -
反转链表:递归解法
先直接上代码:怎么理解呢?我们一行一行的来看!首先是badcase部分,当链表为空,或者只有一个节点的时候,直接返回就可以了,也没什么好反转了!最后三行就很神奇的,初次刷题是懵的状态,看了东哥的解释才回过神来。对于递归的问题,最关键的是明确递归函数的定义。在上面的函数中,reverseList表示给定一个链表,对其进行反转,并输出反转后的链表的头节点。然后来看last是个什么东西:现在离我们想要的结果还缺把2指向1,于是我们写了:以及把head指向空:延续上面的思路,明确递归函数的定义。在这个问原创 2024-04-11 16:06:26 · 384 阅读 · 0 评论 -
304. 前缀和技巧中的边界值处理
题目如下,其实并不难,属于小而美的前缀和技巧中的体型。因为我之前做过这道题,所以重刷也马上就能写。但是对比我写的和之前看别人写的,明显我的代码不够简洁,一个核心的差异在于对DP数组的定义上。只要改一下DP数组的定义即可:存储以(0,0)为起点,到(i-1, j-1)的数组之和。先看下我的代码,我对DP数组的定义是:存储以(0,0)为起点,到(i, j)的数组之和。将DP数组计算的过程放在__init__下面,总是只计算一次,然后重复调用其结果即可/修改以后的代码如下,明显简洁很多!原创 2024-04-09 09:46:19 · 146 阅读 · 0 评论 -
LCR 155:将二叉搜索树转化为排序的双向链表
将一个 二叉搜索树转化为一个 已排序的双向循环链表;节点的左指针指向前驱(上一个比自己小的节点),右指针指向后驱(下一个比自己大的节点)。最后要求返回链表中最小元素的指针。原创 2024-03-28 09:57:55 · 306 阅读 · 0 评论 -
动态规划:编辑距离和最长公共子序列解法对比
以下两种定义方式都行,看个人习惯。我个人更喜欢右边的方式!因为python中数组的切片word[i:j]是左闭右开区间,用dp(i, j)表示从word1[i:]转化为word2[j:]的定义更简洁。原创 2024-03-24 13:54:25 · 356 阅读 · 0 评论 -
二叉树的子结构
二叉树的前序遍历 + 递归遍历树A的每一个节点,判断是否与树B部分重合。头节点相等。原创 2024-03-20 15:06:48 · 152 阅读 · 0 评论 -
二叉树的最近公共祖先
这道题去年刷过,但是今年来做又没写对,写篇文章从头到尾梳理下思路,强化下记忆。(愿佛祖保佑信女,面试遇到此题时可以信手拈来。。。。原创 2024-03-19 15:51:13 · 205 阅读 · 0 评论 -
股票买卖问题:状态定义的误解与思考
iii:第iii天;kkk:交易的最大次数(这里有很多歧义,理解部分重点解释);sss:持有状态,0代表不持有,1代表持有。举个例子,dp[3][1][0]代表在第三天,我至今最多进行了1次交易,现在没有持有的最大利润是多少。原创 2024-03-17 11:34:08 · 783 阅读 · 1 评论 -
算法时空复杂度分析:大O表示法
算法题写完以后,面试官经常会追问一下你这个算法的时空复杂度是多少?(好像作为一名算法工程师,我日常码代码的过程中,并没有太注意这个,惭愧~但是找做后端开发的男票求证了一下,他们日常工作确实会去考虑这种问题)那么无论是为了应付面试,还是为了未来码代码可以精益求精,都还是认真的学一下时空复杂度分析方法吧!对于为什么需要时空复杂度分析,而不是直接跑一下代码看看,看到王争大佬在《数据结构与算法之美》(墙推)里给的两个原因是:测试结果依赖测试环境:机器的配置会十分影响你跑出的结果;原创 2024-03-13 14:59:52 · 1084 阅读 · 2 评论 -
动态规划:4种遍历方向图解+Python实现
动态规划类题型在遍历过程中,根据状态转移函数的不同,代码实现时遍历的方向也会有所差异。原创 2024-03-12 19:30:00 · 355 阅读 · 0 评论 -
新坑出炉:同一个函数不要传入两个一模一样的引用类型参数
1. 可变对象:对一个变量进行操作时,其值是可变的,但是对值的修改并不会引起新的对象,即地址是不会变的,只是地址中的内容发生了变化或者地址得到了扩充!2. 不可变对象:可以理解为一个萝卜一个坑,地址中的值是不会变的,要变就变地址!怎么记呢?可变对象和不可变对象所说的「可变」「不可变」都是针对值而言的。值可变,说明地址不变,则是引用类型!同理,不可变对象说明值不能动,那就是值类型了。原创 2024-03-06 14:41:40 · 354 阅读 · 0 评论 -
Python里的全局变量、局部变量、类的self.*
全局变量没有在任何函数内部定义,并且具有全局范围的变量;局部变量的定义:在函数内部定义的变量,范围仅限于该函数;是在一个函数内部声明一个全局变量,以便在函数内部对全局变量进行修改,这个全局变量本身已经定义过了,而不是我想当然认为的定义了一个全新的全局变量!‼️如果没有将其声明为全局变量,则在函数内部更改或创建的任何变量都是局部变量。当全局变量和局部变量的命名一样时,在一个函数内部还是会使用自己内部的局部变量;原创 2024-03-04 19:51:59 · 876 阅读 · 0 评论 -
迭代思路 VS 递归思路
【代码】迭代思路 VS 递归思路。原创 2024-02-27 16:47:12 · 406 阅读 · 0 评论 -
Nsum问题
【代码】Nsum问题。原创 2023-12-23 20:47:40 · 393 阅读 · 0 评论 -
90. 打家劫舍II (房子围成一圈)
【代码】90. 打家劫舍II (房子围成一圈)原创 2023-11-26 15:03:16 · 161 阅读 · 0 评论 -
89. 打家劫舍【动态规划】
【代码】89. 打家劫舍【动态规划】原创 2023-11-25 12:40:37 · 78 阅读 · 0 评论 -
188. 股票买卖问题(交易次数为任意正整数)
【代码】188. 股票买卖问题(交易次数为任意正整数)原创 2023-11-24 09:24:00 · 101 阅读 · 0 评论 -
123. 股票买卖的最佳时机III(2次交易)
【代码】123. 股票买卖的最佳时机III(2次交易)原创 2023-11-24 09:10:31 · 160 阅读 · 0 评论 -
122.买卖股票的最佳时机II(不限次数)
买卖股票的最佳时机(不限次数)原创 2023-11-23 13:01:40 · 217 阅读 · 0 评论 -
95. 最长公共子序列
【代码】95. 最长公共子序列。原创 2023-11-19 20:42:29 · 76 阅读 · 0 评论 -
72. 编辑距离(动态规划)
【代码】72. 编辑距离(动态规划)原创 2023-11-19 20:24:50 · 77 阅读 · 0 评论 -
416. 分割等和子集问题(动态规划)
【代码】416. 分割等和子集问题(动态规划)原创 2023-11-19 19:45:18 · 82 阅读 · 0 评论 -
518. 零钱兑换II(完全背包问题)
【代码】518. 完全背包问题。原创 2023-11-19 15:17:15 · 65 阅读 · 0 评论 -
动态规划解背包问题
【代码】动态规划解背包问题。原创 2023-11-19 12:21:52 · 85 阅读 · 0 评论 -
300. 最长递增子序列
【代码】300. 最长递增子序列。原创 2023-11-19 11:47:37 · 66 阅读 · 0 评论 -
33. 搜索旋转排序数组
【代码】33. 搜索旋转排序数组。原创 2023-11-19 11:12:27 · 36 阅读 · 0 评论 -
109. 有序链表转化为二叉搜索树
【代码】109. 有序链表转化为二叉搜索树。原创 2023-11-16 13:17:46 · 54 阅读 · 0 评论 -
98. 验证二叉搜索树
【代码】98. 验证二叉搜索树。原创 2023-11-15 13:24:44 · 43 阅读 · 0 评论 -
193. 二叉搜索树的最小公共祖先
【代码】193. 二叉搜索树的最小公共祖先。原创 2023-11-15 09:30:39 · 54 阅读 · 0 评论 -
101. 对称二叉树
【代码】101. 对称二叉树。原创 2023-11-14 10:03:52 · 28 阅读 · 0 评论 -
662. 二叉树的最大宽度
leetcode: 二叉树的最大宽度原创 2023-11-14 09:49:02 · 37 阅读 · 0 评论 -
41. 缺失的第一个正数
缺失的第一个正数原创 2023-11-13 09:31:18 · 25 阅读 · 0 评论 -
76. 最小覆盖子串 【滑动窗口】
【代码】76. 最小覆盖子串 【滑动窗口】原创 2023-11-12 13:41:38 · 44 阅读 · 0 评论 -
239. 滑动窗口最大值 【双端队列 cllections.deque】
【代码】239. 滑动窗口最大值 【双端队列 cllections.deque】原创 2023-11-12 12:32:09 · 51 阅读 · 0 评论 -
3. 无重复字符的子串 【滑动窗口】
【代码】3. 无重复字符的子串 【滑动窗口】原创 2023-11-12 11:05:26 · 39 阅读 · 0 评论 -
124. 二叉树的最大路径之和
【代码】124. 二叉树的最大路径之和。原创 2023-11-11 18:55:39 · 29 阅读 · 0 评论 -
102. 二叉树的层序遍历
二叉树的层序遍历原创 2023-11-11 17:44:27 · 21 阅读 · 0 评论 -
LeetCode:二叉树前序遍历、中序遍历、后序遍历,递归解法 VS 遍历解法
【代码】LeetCode:二叉树前序遍历、中序遍历、后序遍历,递归解法。原创 2023-11-11 17:22:19 · 45 阅读 · 0 评论 -
704:二分查找
二分查找leetcode原创 2023-10-24 20:28:46 · 24 阅读 · 0 评论