![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
小张frog
模糊测试新手,希望能不断学习!
展开
-
Leetcode106.从中序与后序遍历序列构造二叉树
第四步:切割中序数组,切成中序左数组和中序右数组 (顺序别搞反了,一定是先切中序数组)第二步:如果不为空,那么取后序数组最后一个元素作为节点元素。第三步:找到后序数组最后一个元素在中序数组的位置,作为切割点。第五步:切割后序数组,切成后序左数组和后序右数组。第一步:如果数组大小为零的话,说明是空节点了。看到二叉树的遍历就首先想到递归。第六步:递归处理左区间和右区间。原创 2024-01-18 21:12:46 · 697 阅读 · 0 评论 -
Leetcode 347:前K个高频元素
看到这道题一开始的思路是:使用map:键存放nums,值存放nums出现的次数。然后通过对值排序的方法找出前k个元素。官方题解给出的是用优先级队列做,而且用的是小顶堆。大顶堆的话,每次移除的都是最大的元素(×)原创 2024-01-12 15:43:19 · 583 阅读 · 0 评论 -
Leetcode54. 螺旋矩阵
【代码】Leetcode54. 螺旋矩阵。原创 2023-12-20 21:58:36 · 390 阅读 · 0 评论 -
Leetcode438. 找到字符串中所有字母异位词
【代码】Leetcode438. 找到字符串中所有字母异位词。原创 2024-01-03 21:29:09 · 673 阅读 · 1 评论 -
Leetcode459:重复的字符串
基于这个思想,可以每次移动k个字符,直到匹配移动 length - 1 次。但是这样对于重复字符串很长的字符串,效率会非常低。为了避免这种无用的环绕,可以创建一个新的字符串 str,它等于原来的字符串 S 再加上 S 自身,这样其实就包含了所有移动的字符串。一开始 acd (acd) ,移动一次 ac(dac)d,移动两次 a(cda)cd。其实都包含在了 str 中了。比如字符串:S = acd,那么 str = S + S = acdacd。现在字符串和原字符串匹配了,所以可以得出结论存在重复的子串。原创 2024-01-08 11:51:05 · 614 阅读 · 0 评论 -
Leetcode349和350 两个数组的交集问题的思考
题目要求的是数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。不考虑输出结果的顺序。翻译过来就是,如果一个数组有3个4,一个数组有4个4。这时候使用set不合适,因为在JAVA中set是无序,且不包含重复元素的。Leetcode 350:两个数组的交集II。Leetcode 349:两个数组的交集I。题目要求的是输出结果中的每个元素一定是。所以我们考虑使用set。因此,我们考虑使用map。原创 2024-01-06 12:30:00 · 481 阅读 · 1 评论 -
Leetcode454:四数相加II
这个题不同于三数和另一个四数相加,这是四个数组。所以我们想办法,把其办成两数相加。原创 2024-01-07 22:49:33 · 960 阅读 · 1 评论 -
Leetcode-142:环形链表II
这道题目,不仅考察对链表的操作,而且还需要一些数学运算。原创 2023-12-27 10:35:22 · 492 阅读 · 1 评论 -
Leetcode24:两两交换链表中的节点
【代码】Leetcode:两两交换链表中的节点。原创 2023-12-29 22:09:53 · 620 阅读 · 1 评论 -
Leetcode239:滑动窗口最大值
看到这道题,首先的思路一定是两个循环嵌套。但是,这样做必定超时。①就是一定保持队列的对头一定是最大值。这是一道典型的单调队列的题。原创 2024-01-11 15:28:42 · 691 阅读 · 0 评论 -
Leetcode20:有效的括号
这个题目的意思就是和消消乐一样,左右括号必须匹配。③右括号多了:( ){ [ ] } ) ) )①左括号多了:例如( [ ]{ }②括号不匹配:( )[ { ) ]原创 2024-01-10 08:45:00 · 527 阅读 · 0 评论