随笔分类 - Leetcode
一度怀疑自己的智商是不是太低了
摘要:今天继续刷leetcode呀! 这道题是leetcode 第437题 Path Sum III ,这道题意思是找出一棵二叉树中所有从上往下的路径,这些路径中的结点的权值之和等于题目给定的target。这里有一个要求,就是路径的起点不需要是整棵二叉树的根结点,路径的终点也不需要是叶子结点。只要是从上往
阅读全文
摘要:2021年寒假已经回家好几天了,在家稍作休息了一下,继续刷题。这两天在家有点着凉了,今天稍微有点感冒,但是刷题还是不能停。 今天我们看一下leetcode上 第166题 这道题是将两个正数的除法结果保存为string类型。如果除法结果是循环小数,需要把循环部分用括号括起来。 例如: Input: n
阅读全文
摘要:我们都知道,二叉树常见的操作之一就是遍历,leetcode上很多对二叉树的操作都是基于遍历基础之上的。 二叉树的遍历操作分为深度优先遍历和广度优先遍历,深度优先遍历包括前序、中序、后序三种遍历方式;广度优先遍历又叫层序遍历。 这两种遍历方式都是非常重要的,树的层序遍历一般是没法通过递归来实现,其遍历
阅读全文
摘要:这道题我原来是不会的,然后自己思考了一下,发现其实是个数学问题,虽然方法用的是双指针,但是我还是从数学层面进行解释吧。 这道题是在141. Linked List Cycle基础上的变形题,那道题就是用双指针法,一个快指针fast每次走两步,一个慢指针slow每次走一步,如果快指针能和慢指针相遇,则
阅读全文
摘要:今天又是刷leetcode的一天。 今天做的是139. Word Break,说实话,我知道这道题是用dp来做,dp的两大关键就是定义子问题和写出状态转移方程。 其实一般来说,找到了子问题往往也就能用递归来做,只不过递归过程中有很多重复计算,所以为了避免这种重复计算,很多时候我们都是使用一种记忆性递
阅读全文
摘要:这道题的tag是Bit Manipulation,意为位操作,说实话,我是完全没接触过这种解法的,我用了map做的,时间复杂度应该是O(n),但是因为用了map,空间复杂度是不符合题目要求的,题目要求不使用额外的空间。 这道题是用按位异或操作实现的,首先我们来复习一下什么叫异或操作。 异或的意思是相
阅读全文
摘要:今天又是刷leetcode的一天。 太难受了,今天第2道题就不会了,看了别人的解答才会的,记录一下吧,自己太笨了。 题目是134. Gas Station 这个问题如果用暴力算法去做的话是很简单的,就是从0出发到最后一个位置,以每个位置为起点试探一下,看看走一圈能不能回到自己,复杂度是O(n^2),
阅读全文
摘要:今天继续刷leetcode。 今天着重练习了一下回文串(Palindromic string)相关的题目,其中做到1457. Pseudo-Palindromic Paths in a Binary Tree这一道题的时候,自己方法没错,但跑了两次都是TLE,然后心态有点崩,就去看了一下别人的代码,
阅读全文
摘要:Leetcode第60道题,原题链接在这里:Permutation Sequence 题目描述非常简单: 对于n个数字1, 2, 3, ..., n,可以组成n!种不同的排列,我们可以对这n!个排列依次排序,例如,对于n=3时,排完序之后的这些组合依次为: "123" "132" "213" "23
阅读全文
摘要:已经2年多没更新博客了,2年前这时候我还在准备考研,现在都研二了,时间过得可真快呀,研究生3年也转瞬即逝。最近稍微有点时间,于是在刷Leetcode,昨天遇到了一道题,是字符串匹配问题,我一看就知道用KMP算法,题目如下: 28. Implement strStr() 该题难度为easy,但我感觉K
阅读全文

浙公网安备 33010602011771号