随笔分类 -  leetcode简单题

写一些leetcode简单题,目的是联系算法和js语法。
摘要:问题描述 https://leetcode.cn/problems/binary-tree-preorder-traversal/description/ 解题思路 二叉树的先序遍历,没啥好说的。中-左-右。 先序中序后序 说的是中在哪里。 代码 # Definition for a binary 阅读全文
posted @ 2023-01-28 17:40 BJFU-VTH 阅读(17) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/path-sum/description/ 解题思路 我们可以对叶子结点进行判断,如果叶子结点的值等于targetSum,那么就算是找到了。 代码 # Definition for a binary tree node. # cla 阅读全文
posted @ 2023-01-28 17:35 BJFU-VTH 阅读(17) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/minimum-depth-of-binary-tree/description/ 解题思路 这个题目不难,但对退出条件要求高。 经过对题意的分析,我们对于root为None的情况,以及root为叶子结点的情况,以及root只有左子 阅读全文
posted @ 2023-01-28 16:24 BJFU-VTH 阅读(17) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/balanced-binary-tree/description/ 解题思路 这题一开始朴素的思路就是,对于每个节点,都计算其是不是平衡二叉树。 计算平衡二叉树的方式是对其求高度。 这会导致我们搜索了2次。 然而我们可以在一次搜索中 阅读全文
posted @ 2023-01-28 15:56 BJFU-VTH 阅读(14) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/ 解题思路 二叉树的最大深度,等于左子树的深度和右子树深度的较大值加1(即本层深度). 代码 # Definition for a binary tr 阅读全文
posted @ 2023-01-28 15:32 BJFU-VTH 阅读(20) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/symmetric-tree/description/ 解题思路 这个题,一看就是递归。既然如此,我们按照递归的一般思路来看,即问题的定义即为问题的解。 这个题目看似复杂,实际就是在求左子树的左孩子等于右子树的右孩子,左子树的右孩子 阅读全文
posted @ 2023-01-28 15:21 BJFU-VTH 阅读(17) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/same-tree/description/ 解题思路 相同的树,意思就是树的结构和值都是相同的。 根据这点,可以写出代码。 代码 # Definition for a binary tree node. # class TreeN 阅读全文
posted @ 2023-01-28 12:05 BJFU-VTH 阅读(25) 评论(0) 推荐(0) 编辑
摘要:问题链接 https://leetcode.cn/problems/binary-tree-inorder-traversal/description/ 解题思路 二叉树的中序遍历。其实深搜和递归是一个道理。搜索必然要通过递归来实现。 中序遍历其实就是: 递归遍历左子树 操作 递归遍历右子树 代码 阅读全文
posted @ 2023-01-28 11:59 BJFU-VTH 阅读(16) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/counting-bits/description/ 解题思路 这个题目,看上去是一个动态规划问题。 用dp[i]代表i中1的个数。但我没想明白怎么写状态转移方程。 多写了几组数据,发现有如下规律: 2-->0 3-->1 4--> 阅读全文
posted @ 2023-01-17 11:35 BJFU-VTH 阅读(17) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/description/ 解题思路 买卖股票的最佳时机是一个系列,这是最简单的一个题目。 首先我们定义一个dp数组,数组中元素的含义是,dp[i]代表了第i天为止能够获 阅读全文
posted @ 2023-01-15 17:58 BJFU-VTH 阅读(22) 评论(0) 推荐(0) 编辑
摘要:问题链接 https://leetcode.cn/problems/pascals-triangle-ii/description/ 解题思路 没啥好说的,跟118没区别。 代码 class Solution: def getRow(self, rowIndex: int) -> List[int] 阅读全文
posted @ 2023-01-15 17:42 BJFU-VTH 阅读(13) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/pascals-triangle/description/ 解题思路 杨辉三角可以用动态规划来解决,但它的解题思路跟一般的DP不一样,一般的DP只有一个数组,它牵扯到多个数组。 它的状态转移方程是:res[cur][j] = res 阅读全文
posted @ 2023-01-15 17:34 BJFU-VTH 阅读(28) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://leetcode.cn/problems/climbing-stairs/description/ 解题思路 这是一个典型的动态规划题。记住,任何可以用递归解决的问题,就可以用动态规划解决。 动态规划最重要的是想清楚状态转移方程和退出条件(是不是跟递归很像)。 在这个题目里 阅读全文
posted @ 2023-01-15 17:24 BJFU-VTH 阅读(33) 评论(0) 推荐(0) 编辑
摘要:问题链接 https://leetcode.cn/problems/contains-duplicate-ii/description/ 解题思路 这道题目是一个经典的滑动窗口题。 常规解法,注意边界值就行。 注意我们应该完全模拟滑动窗口,以防出现复杂度O(n的平方)的情况。 代码 class So 阅读全文
posted @ 2023-01-15 12:50 BJFU-VTH 阅读(13) 评论(0) 推荐(0) 编辑
摘要:问题链接 https://leetcode.cn/problems/missing-number/description/ 解题思路 这个题目,可以先排序,然后找到最左侧的下标和数值不匹配的一个。 没啥好说的,常规二分。 不过,一般的二分都是3个分支,分别是等于,小于,大于。 但这个题目不一样,这个 阅读全文
posted @ 2023-01-11 16:56 BJFU-VTH 阅读(20) 评论(0) 推荐(0) 编辑
摘要:问题链接 https://leetcode.cn/problems/sqrtx/description/ 解题思路 这个题目,可以用1到x来进行二分。 对照上一题的解题思路,当我们不知道最后应该返回什么的时候,就去想mid == left == right的时候,我们应该返回什么。 代码 class 阅读全文
posted @ 2023-01-11 16:39 BJFU-VTH 阅读(29) 评论(0) 推荐(0) 编辑
摘要:问题链接 https://leetcode.cn/problems/search-insert-position/description/ 解题思路 搜索插入位置,是一个常见的二分算法。 二分是有固定模板的。这个题目是搜索插入位置,和最简单的二分不同。 不同之处在于,它在查找失败时不返回False, 阅读全文
posted @ 2023-01-10 22:58 BJFU-VTH 阅读(31) 评论(0) 推荐(0) 编辑
摘要:问题链接 https://leetcode.cn/problems/valid-palindrome-ii/description/ 解题思路 这题可以用贪心。贪心的思路是,我们假定遇到的第一个不匹配的字符,删掉就是有可能使我们达成目标的解。 我们双指针法 可以很快的解决这个问题。 代码 class 阅读全文
posted @ 2023-01-10 15:34 BJFU-VTH 阅读(22) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/can-place-flowers/description/ 解题思路 这题是种左不种右的,我们要求,如果不是边界,则自己本身不是1,而且左右也不能是1. 如果是边界,则自己不是1,且相邻的也不是1. 代码 class Soluti 阅读全文
posted @ 2023-01-10 14:41 BJFU-VTH 阅读(15) 评论(0) 推荐(0) 编辑
摘要:问题描述 https://leetcode.cn/problems/array-partition/description/ 解题思路 这个题目很有意思。其中的思想依然是贪心。我们要去想,在一个小的数对中,我们应该怎么样才能收益最高呢。 我们首先挑选最大的数,由于我们要进行min操作,如果让min收 阅读全文
posted @ 2023-01-10 13:46 BJFU-VTH 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示