小白刷Leetcode
Sherman JIAO
这个作者很懒,什么都没留下…
展开
-
【小白用python刷Leetcode】面试题 16.11. 跳水板
面试题 16.11. 跳水板题目描述你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}提示:0 < shorter <= longer0 <= k <= 100000解题思路不愧是简.原创 2020-07-08 18:54:25 · 240 阅读 · 0 评论 -
【小白用python刷Leetcode】112. 路径总和
112. 路径总和题目描述解题思路终于又刷到老面孔,又不禁笑出声来,这题是很早之前就刷过的啦,也很简单。思路呢也就是常规思路,就是递归。因为是树这种特殊的数据结构,对应递归很合适,现在看到树首先想到递归,都快成条件反射了。具体来讲就是首先迭代维护在当前递归步骤里sum的取值,即sum = sum - root.val。然后判断当前节点是不是叶子节点,即判断当前节点的左右子节点是否存在,若存在则继续递归,若不存在就判断sum是否为0,为0说明存在这样一条路径,返回True就好。真的太简单了原创 2020-07-07 10:52:32 · 249 阅读 · 1 评论 -
【小白用python刷Leetcode】63. 不同路径II
63. 不同路径II题目描述示例:输入:[[0,0,0],[0,1,0],[0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:1. 向右 -> 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右 -> 向右官方思路没错,这题又没自己的思路,确认过眼神,是我做不出的题。说来惭愧,已经连着刷了三天的动态规划,依然没什么长进,拿到题还想用回溯法来做(可能受...原创 2020-07-06 13:39:49 · 247 阅读 · 0 评论 -
【小白用python刷Leetcode】44.通配符匹配
44.通配符匹配题目描述给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。 p可能为空,且只包含从a-z的小写字母,以及字符?和*。示例:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。输入:...原创 2020-07-06 01:31:35 · 260 阅读 · 0 评论 -
【小白用python刷Leetcode】32. 最长有效括号
32. 最长有效括号题目描述解题思路作为一个小白,表示只解出了最蠢的暴力解法。但是感觉暴力解法也并不是那么容易实现,题解代码:def kthSmallest(self, matrix: List[List[int]], k: int) -> int: # 归并排序 def guibing(s1,s2): # 我知道函数内套函数很蠢,但是我觉得面试时候面试官应该是会让手撕归并的,况且也不难是吧 res原创 2020-07-05 11:46:23 · 281 阅读 · 0 评论 -
【小白用python刷Leetcode】108. 将有序数组转换为二叉搜索树
718. 最长重复子数组题目描述(好吧我还是截图题目描述了,主要还有个数据结构的图,打出来的话我不得疯。别说截图之后感觉也不那么丑。。。自我安慰ing)二叉搜索树拿到题目,首先需要清楚的一点是:什么是二叉搜索树???(刷题还能再学学数据结构,也挺好是吧。)二叉搜索树(二叉查找树、二叉排序树):这三种数据结构都是一个东西,简单来说就是每个节点的左子节点的值小于当前节点的值,而右子节点的值大于当前节点的值。按照定义,如果给定一个数组,生成其二叉搜索树,那么这棵树并不唯一。不妨考虑猎奇原创 2020-07-03 12:36:41 · 280 阅读 · 0 评论 -
【小白用python刷Leetcode】378. 有序矩阵中第K小的元素
378. 有序矩阵中第K小的元素题目描述给定一个n x n矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个不同的元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。提示:你可以假设 k 的值永远是有效的,1 ≤ k ≤ n^2。解题思路今天没有再遇到很熟悉的题目,不过乍一看还是很眼熟,很...原创 2020-07-02 16:05:35 · 336 阅读 · 0 评论 -
【小白用python刷Leetcode】718. 最长重复子数组
718. 最长重复子数组题目描述给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例:输入: A: [1,2,3,2,1] B: [3,2,1,4,7]输出: 3解释:长度最长的公共子数组是 [3, 2, 1]。说明:1 <= len(A), len(B) <= 1000 0 <= A[i], B[i] < 100解题思路今天每日一题刷到这道题,不禁笑出声来,终于看到了熟悉的面庞。这道应该是面试必会...原创 2020-07-01 14:04:48 · 352 阅读 · 0 评论 -
【小白用python刷Leetcode】剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列题目描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例:输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]]输出: [null,null,3,-1]输入: ["CQu...原创 2020-06-30 11:06:12 · 180 阅读 · 0 评论 -
【小白用python刷Leetcode】215. 数组中的第K个最大元素
215. 数组中的第K个最大元素题目描述在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例:输入: [3,2,1,5,6,4] 和 k = 2输出: 5输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。解题思路今天每日一题刷到这道题,不禁笑出声来,终于看到了熟悉的面庞。这道应该是面试必会的一道了吧,自己秋招时..原创 2020-06-29 17:39:09 · 242 阅读 · 0 评论 -
【小白用python刷Leetcode】209. 长度最小的子数组
209. 长度最小的子数组题目描述给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释:子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试O(nlogn) 时间复杂度的解法。我的思路(小白思路)第一反应是利用滑窗解决(...原创 2020-06-28 14:57:24 · 349 阅读 · 0 评论 -
【小白用python刷Leetcode】41.缺失的第一个正数
41.缺失的第一个正数题目描述给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例:输入: [1,2,0]输出: 3输入: [3,4,-1,1]输出: 2输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。(确定这是提示,不是进阶要求???好吧我是真的小白)我的思路(小白思路)先将数组排序,然后定义一个key。key的初值设为1,利用二分查找在排序后的数组中找key。如果找到了,则k.原创 2020-06-27 23:02:30 · 220 阅读 · 0 评论