
力扣
我爱君君吖~
低头做事,抬头看路
展开
-
【力扣】125.验证回文串
刷题,过了真的好有成就感!!!原创 2024-04-11 17:58:02 · 388 阅读 · 0 评论 -
【力扣】78.子集(回溯)
这道题主要是用的回溯的方法来做的,我是参考的代码回想录里面的思路来写的。刚开始的话我致力于一定要把这个完整的过程推一遍,不推到底我不死心,感觉用掉了自己很多的时间,但是也算是弄懂了吧,就是弄透还是需要一点时间。我的结论是for循环控制的就是每一层的递归。比如说nums=[1,2,3],长度为3,则第一层遍历的就是以1为结点的递归,然后在每一层的开始进行收割。第二、三层便以此进行递归。原创 2024-03-13 21:42:48 · 521 阅读 · 0 评论 -
【力扣】208.实现Trie
其次,我们需要写出插入、查找前缀、搜索的函数,插入的函数思路就是我们先判断该字母是否在26个字母表中出现过,如果没有那就创建一个新的结点进行链接就可以了。这里的next[26]是每个结点都会有的。首先,什么是前缀树呢,借用一下力扣大佬讲解的图。那我们需要做的就是将题目所给的word拆分成一个个字母,然后按照其顺序(我指的是单词的顺序)一个个插入,有点像链表,但这里用到的是结构体。虽然说万变不离其宗,但是我就觉得刷洛谷的题让我心情烦躁,刷不下去。这道题目其实挺简单的,但是刚开始我没看懂是啥意思。原创 2024-03-05 21:44:01 · 648 阅读 · 0 评论 -
【力扣】169.多数元素
首先题目的意思是存在数字,意思就是最后返回的结果不可能为空就是了,所以便不用考虑{1,2,3,4,5}这种例子。那么就可以用哈希表存所出现数字出现的次数,然后如果不用打擂台的思想,其实还要再遍历一遍哈希表,这样时间复杂度就够够的了。然后还有一种解法就是排序,这个更简单了,已知存在,那么我们就将这个数字进行一个排序,然后折中取即可。(数组是从0开始排序的)这个打擂台的思想就是人多者取胜,最后留下来的就是王,关于这里的解释大家可以看一下这个博主写的。需要注意的是这里不存在谁比谁强的问题,所以请不要较真哦~原创 2024-02-17 22:13:38 · 454 阅读 · 0 评论 -
【力扣】5.最长回文子串
中心思想就是先判断两端的是否相等,若是则 dp[i][j] = true,然后是从短到长的一个过程,与此同时不断更新最长子串的下标,最后再返回,代码里面有详细的解释。首先就是判断一个字符串是不是回文,我们可以设置两个指针,从前往后进行判断即可,运用暴力解题法,这里运用的动态规划法主要是要搞清楚原理即可。这道题我主要是通过动态规划来进行解题,看了我好久(解析),生疏了呀。原创 2024-02-13 23:42:58 · 606 阅读 · 0 评论 -
【力扣】20.有效的括号
这道题是栈的常考题型,应该是吧。我们可以用哈希表的形式,键值对嘛,然后( [ { 这类的入栈,然后碰到其与之相对应的那就出栈,最后的情况那要是栈为空的情况就返回true.反之则返回false,不考虑( [ ) ]的这种情况,如果考虑,那就false了。家人们,看这排序,一看就很简单,对吧?不对,我觉得还挺不是很容易的,哈哈哈。在看题目的时候,我一开始的解题思路就挺复杂的。原创 2023-12-28 18:55:14 · 535 阅读 · 0 评论 -
【力扣】114.二叉树展开为链表
在做这个题目之前,如果可以的话,请先将144.前序遍历的题目做一下,这样你将会对前序、中序、后序遍历有一个比较清晰的了解。特别是这三者与递归相结合,嗯,真的很有意思。关于这道题,我会给出两种解法。其中法二是对法一的优化。原创 2023-12-26 10:34:52 · 454 阅读 · 0 评论 -
【力扣】199.二叉树的右视图
看到这个题目的一瞬间,我想递归,必须用递归。最近被递归折磨的有点狠,但是我感觉我快要打败它了,就是现在稍稍有点处于劣势。不过没关系,来日方长不是。原创 2023-12-25 21:02:39 · 595 阅读 · 0 评论 -
230.二叉树中第k小的元素
这道题我的想法是遍历二叉搜索树然后将其中每个结点的元素值加入到set集合中,让其自动进行一个升序排列,最后再取出即可。但是看了官方的解答之后,我发现二叉搜索树+中序遍历就可以得到一个升序的,em,怎么说,反正就是它是升序的,那这样的话比我的那就容易多了,至于那个官方的另外一个解题方法结点的,我就没有再多加深入了。原创 2023-12-24 17:49:54 · 333 阅读 · 0 评论 -
【力扣】543. 二叉树的直径
突然间发现现在刷的题好多都和大一时学的数据结构密切相关,比如说这道题就用到的深度优先搜索算法。原创 2023-12-23 20:19:32 · 503 阅读 · 0 评论 -
【力扣】148.排序链表
怎么说,这道题看上去挺简单的,但是要搞清楚的知识点那还真不少,刷题好痛苦,但是要刷!嘿嘿~首先,要搞懂归并排序,然后是递归。这道题我刚开始想的是递归,但是题友说时间超限,所以我就复习了一下归并,废话挺多的,嘿嘿,见谅啦~原创 2023-12-20 19:30:15 · 519 阅读 · 0 评论 -
【力扣】19. 删除链表的倒数第 N 个结点
大家有没有发现其实法一和法二其实差不多,用栈的时候遍历一下就相当于长度的计算,快慢指针也很有意思,我觉得嗷~总有些坑是要自己踩了才会影响深刻的,也会更加强大,所以,多多踩坑吧,宝子们~祝你生活愉快~刷题幸福哦~原创 2023-12-14 19:40:39 · 539 阅读 · 0 评论 -
【力扣】2.两数相加
这是第二题,还行豁~。原创 2023-12-13 17:32:50 · 465 阅读 · 0 评论 -
【力扣】21.合并两个有序链表
生活真的是不容易啊,我感觉刷题就是正视智商的过程。它视我为渣渣,我视它为大腿。必须练!必须坚持!爬坡哪有不辛苦的啊~虽然这个力扣上面的这个题目标注的是简单,simple,可是我觉得在递归上面是一点也不简单,哼!(我好笨,呜呜呜~)原创 2023-12-12 17:45:18 · 429 阅读 · 0 评论 -
【力扣】141和142环形链表
用两个指针slow,fast,后者能比前者多走一步路,那判断是不是有环,只需要判断是否会相遇。就是有一个能比乌龟跑2倍快的兔子,两小只都在有环的路上跑,那是不是肯定会相遇。嗯,对!原创 2023-12-09 19:43:26 · 784 阅读 · 0 评论 -
【力扣】234.回文链表2
感觉自己还是有点时间,然后又学了两种解法。那就一起整理一下。原创 2023-12-08 17:51:34 · 425 阅读 · 0 评论 -
【力扣】234.回文链表
嗯,今天这道题是我自己写的哦~,哒哒哒。今天还是很不错滴~原创 2023-12-08 17:23:17 · 647 阅读 · 0 评论 -
【力扣】206.反转链表
这道题有两种解法,但不只有两种,嘿嘿。原创 2023-12-07 11:02:11 · 657 阅读 · 0 评论 -
【力扣】160.相交链表
其中P1,P2不相交的长度分别是a,b,相交的长度是c。那么当链表p1一直在遍历的时候直到其为空,我们让他指向p2的头结点,同理p2也是一样,这样两个链表均会在走了a+c+b之后在相交点同时到达。1、相交:现在已知二者相交,那么当两个链表长度相同的时候,可以是同时到达的,这个的实现直接就用while循环就行了。但是当二者长度不相同时,那如何能让其指针指向相同的target呢,是不是只要遍历的长度一样就可以了?但是当真正的开始学习之后,发现现在的脑袋还是能用的,所以不要放弃,你可以的!这里就说一下我的理解。原创 2023-12-07 10:17:53 · 528 阅读 · 0 评论 -
【力扣】240.搜索二维矩阵
题目意思是从该矩阵之中查找出是否有和target一样的值,若有则返回true,无则返回false。这里我用的是java。总共有三种方法,分别是暴力解题法(能过),二分查找法(就是将二维数组拆分成m个二维数组),Z字形查找法。重点是讲Z字形查找法,因为在了解该方法之后我觉得自己像傻逼一样,笨,哈哈哈,开个玩笑。这里代码我是参考的官方。Z字形解题法原理就是二叉树,在这里的话我们是从该二维数组的最右边(假设为matrix[x][y])开始查的。原创 2023-12-06 11:00:36 · 684 阅读 · 0 评论 -
【力扣】54. 螺旋矩阵
此时左边界是否小于右边界,上边界是否小于下边界,如果满足条件的话那就证明里面还有元素需要处理,那这个时候就进行从右至左,从下至上的操作。这里当然就不能只是通过双循环来解题了,因为会烦死。这道题的关键点在于左右边界的确定,参考官方解题法在这里写出我的解题思路。看图,螺旋且顺时针,所以我们可以先遍历从左至右的,上边界加一向下移,然后从上至下,右边界-1向左移,这样就能保证。待到从右至左的时候我们需要。原创 2023-12-05 17:21:14 · 587 阅读 · 0 评论 -
力扣100题——子串
这道题目不是滑动窗口的类型,因为长度并不是固定的。(好的,我在说废话)注意题目要求是子数组,且是的。那这里的话,解法有很多,最简单的就是暴力解法,但在这里我想说的是优化,嘿嘿,适当的参考了一下官方的解题办法。ok,来。首先什么是前缀和,先看个列子:有个数组:nums=[1,2,3,4,5,6],那么他的前缀和就是0,1,3,6,10,15,21。当i=0的时候,前缀和是0,当i=1的时候,前缀和是1,当i=2的时候,前缀和是0+1+2=3,以此类推。原创 2023-11-11 21:18:49 · 311 阅读 · 0 评论 -
1726.同积元组
这道题的话,很有意思,我差一点就连题解看不懂了。首先统计数组中所有两个元素相乘的个数,然后你知道的,如果cnt是1,会被淘汰的。所以就不用担心这方面的问题。ok,看下面就是,再从相同乘积的元组中选出2个来,接着乘以8,因为4个元素的元组的排列共有8种,因为题目中的a*b和c*d,ab和cd是绑定的,所以顺序就是2*2+2*2=8,希望你不会和我一样卡在这里,哈哈。所以公式就是v*(v-1)/2*8*原创 2023-10-19 19:22:00 · 136 阅读 · 0 评论 -
【力扣】42. 接雨水
height[1]入栈,指针后移,此时指针所指向的元素小于栈顶元素,height[2]入栈指针后移,height[3]>height[2],所以height[2]出栈 ,找到height[2]左边的比他大的元素,也就是栈顶元素。祝各位刷题人happy!这道题我卡了差不多1个小时,不是不会做,是不知道怎么能用栈来实现,后面看了一个博主的视频,豁然开朗,我主要的纠结点在于当指针指到7的时候,我计算出4到7的水块是2,但实际上是0,因为用栈是横向求解的,就是你横着来切一刀就行,然后掌握其原理。原创 2023-10-07 21:39:30 · 252 阅读 · 0 评论