
leetcode
文章平均质量分 56
a_blooming_tree
这个作者很懒,什么都没留下…
展开
-
leetcode 300. 最长递增子序列 python3
时间:2022-3-22题目地址:力扣题目难度:Medium题目描述:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = ..原创 2022-03-22 08:45:52 · 384 阅读 · 0 评论 -
leetcode 46. 全排列 python3
时间:2022-3-21题目地址:力扣题目难度:medium题目描述:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:1 &..原创 2022-03-21 13:06:05 · 381 阅读 · 0 评论 -
leetcode 33. 搜索旋转排序数组 python3
时间:2022-3-17题目地址:力扣题目难度:medium题目描述:整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经..原创 2022-03-21 10:21:57 · 349 阅读 · 0 评论 -
leetcode 237. 删除链表中的节点 python3
时间:2022-3-16题目地址:力扣题目难度:easy题目描述:请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:指定链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9示例 2:...原创 2022-03-21 10:15:51 · 261 阅读 · 0 评论 -
leetcode 66. 加一 python3
时间:2022-3-15题目地址:力扣题目难度:easy题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 432...原创 2022-03-21 10:11:49 · 391 阅读 · 0 评论 -
leetcode 69. x 的平方根 python3
时间:2022-3-4题目地址:力扣题目难度:easy题目描述:给你一个非负整数 x ,计算并返回x的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。思路1...原创 2022-03-21 09:58:45 · 431 阅读 · 0 评论 -
leetcode 268. 丢失的数字 python3
时间:2022-3-14题目地址:力扣题目难度:easy题目描述:给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围...原创 2022-03-21 09:56:13 · 412 阅读 · 0 评论 -
leetcode 29. 两数相除 python3
时间:2022-3-7题目地址:力扣题目难度:medium题目描述:给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例1:输入: dividend = 10, divisor = 3...原创 2022-03-21 09:45:21 · 123 阅读 · 0 评论 -
leetcode 15. 3sum 三数之和 python3
时间:2022-3-4题目地址:力扣题目难度:medium题目描述:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]...原创 2022-03-04 23:23:06 · 274 阅读 · 0 评论 -
leetcode 13. roman-to-integer罗马数字转整数 python3
时间:2022-3-2题目地址:力扣题目难度:Easy题目描述:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1 。12 写做XII,即为X...原创 2022-03-02 22:01:20 · 155 阅读 · 0 评论 -
leetcode 8. string-to-integer-atoi字符串转换整数 (atoi) python3
时间:2022-2-28题目地址:力扣题目难度:Medium题目描述:请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输...原创 2022-02-28 21:59:23 · 138 阅读 · 0 评论 -
leetcode 7. reverse-integer 整数反转 python3
时间:2022-2-27题目地址:力扣题目难度:Medium题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−2 **31,2**31− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。思路1:弹出和推入数字代码段1:通过class Solution: def reverse(self, x: int) -> int: r...原创 2022-02-27 11:45:12 · 135 阅读 · 0 评论 -
剑指 Offer 40. zui-xiao-de-kge-shu-lcof 最小的k个数 python3
时间:2021-03-30题目地址:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/题目难度:Easy题目描述:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]原创 2021-03-30 21:11:38 · 114 阅读 · 0 评论 -
字符串相加、偶数求和 - Python
题目一:题目二:一行实现1-5000之间所有偶数求和# 常规写法res = 0for i in range(5001): if i % 2 == 0: res += iprint(res)# 写的还是错的# res += i for i in range(2, 5001, 2)# print(res)# 优化一:range步长为2res = 0for i in range(2, 5001, 2): res += iprint(res)原创 2021-03-14 20:46:54 · 693 阅读 · 1 评论 -
leetcode 316. remove-duplicate-letters 去除重复字母 python3
时间:2021-02-28题目地址:https://leetcode-cn.com/problems/move-zeroes/题目难度:Easy题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路1:快慢指针关键点:去重--set() 不能打乱字符的相对位置--栈结构 保原创 2021-03-01 20:57:49 · 242 阅读 · 1 评论 -
leetcode 283. move-zeroes 移动零 python3
时间:2021-02-28题目地址:https://leetcode-cn.com/problems/move-zeroes/题目难度:Easy题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路1:快慢指针代码段1:通过class Solution: def mo原创 2021-02-28 19:38:30 · 120 阅读 · 2 评论 -
leetcode 83. remove-duplicates-from-sorted-list删除排序链表中的重复元素 python3
时间:2021-02-28题目地址:https://leetcode-cn.com/problems/remove-element/题目难度:Easy题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3思路1:快慢指针代码段1:通过# Definition for singl..原创 2021-02-28 19:05:36 · 136 阅读 · 3 评论 -
leetcode 438. find-all-anagrams-in-a-string 找到字符串中所有字母异位词 python3
时间:2021-02-25题目地址:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/题目难度:Medium题目描述:给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和 p的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例1:输入:s: ...原创 2021-02-25 20:42:41 · 175 阅读 · 0 评论 -
leetcode 567. permutation-in-string 字符串的排列 python3
时间:2021-02-24题目地址:https://leetcode-cn.com/problems/permutation-in-string/题目难度:Medium题目描述:给定两个字符串s1和s2,写一个函数来判断 s2 是否包含 s1的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例 1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例 2:输入: s1= ...原创 2021-02-24 20:43:57 · 188 阅读 · 0 评论 -
leetcode 76.minimum-window-substring 最小覆盖子串 python3
时间:2021-02-23题目地址:https://leetcode-cn.com/problems/minimum-window-substring/题目难度:Hard题目描述:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"原创 2021-02-23 21:47:17 · 133 阅读 · 1 评论 -
leetcode 410. split-array-largest-sum 分割数组的最大值 python3
时间:2021-02-22题目地址:https://leetcode-cn.com/problems/split-array-largest-sum/题目难度:Hard题目描述:给定一个非负整数数组 nums 和一个整数m ,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。示例 1:输入:nums = [7,2,5,10,8], m = 2输出:18解释:一共有四种方法将 nums 分割为 2 个子数组。 其中最好的方式是...原创 2021-02-22 21:20:57 · 186 阅读 · 0 评论 -
leetcode 1011. capacity-to-ship-packages-within-d-days 在 D 天内送达包裹的能力 python3
时间:2021-02-21题目地址:https://leetcode-cn.com/problems/capacity-to-ship-packages-within-d-days/题目难度:Medium题目描述:传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i个包裹的重量为weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。示..原创 2021-02-21 10:57:32 · 138 阅读 · 1 评论 -
leetcode 875. koko-eating-bananas 爱吃香蕉的珂珂 python3
时间:2021-02-20题目地址:https://leetcode-cn.com/problems/koko-eating-bananas/题目难度:Medium题目描述:珂珂喜欢吃香蕉。这里有N堆香蕉,第 i 堆中有piles[i]根香蕉。警卫已经离开了,将在H小时后回来。珂珂可以决定她吃香蕉的速度K(单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。珂珂喜欢慢...原创 2021-02-20 20:14:29 · 265 阅读 · 0 评论 -
leetcode 704. binary-search 二分查找 python3
时间:2021-02-28题目地址:https://leetcode-cn.com/problems/binary-search/题目难度:Easy题目描述:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2...原创 2021-02-18 11:53:43 · 169 阅读 · 0 评论 -
leetcode 25. reverse-nodes-in-k-group K 个一组翻转链表 python3
时间:2021-2-16题目地址:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/题目难度:Hard题目描述:给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->...原创 2021-02-16 18:31:54 · 138 阅读 · 0 评论 -
leetcode 222. count-complete-tree-nodes 完全二叉树的节点个数 python3
时间:2021-2-9题目地址:https://leetcode-cn.com/problems/count-complete-tree-nodes/题目难度:Medium题目描述:给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~2h个节点。示例 1:输入:root = [1,..原创 2021-02-09 10:27:52 · 212 阅读 · 0 评论 -
leetcode 92. reverse-linked-list-ii 反转链表 II python3
时间:2021-2-8题目地址:https://leetcode-cn.com/problems/reverse-linked-list-ii/题目难度:Medium题目描述:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL思路1:递归一步一...原创 2021-02-08 21:28:43 · 188 阅读 · 0 评论 -
leetcode 341. flatten-nested-list-iterator 扁平化嵌套列表迭代器 python3
时间:2021-02-05题目地址:https://leetcode-cn.com/problems/flatten-nested-list-iterator/题目难度:Medium题目描述:给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用ne..原创 2021-02-05 21:50:07 · 124 阅读 · 0 评论 -
leetcode 538. convert-bst-to-greater-tree 把二叉搜索树转换为累加树 python3
时间:2021-1-29题目地址:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/题目难度:Medium题目描述:给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点...原创 2021-01-29 23:21:30 · 125 阅读 · 0 评论 -
leetcode 230. kth-smallest-element-in-a-bst 二叉搜索树中第K小的元素 python3
时间:2021-1-28题目地址:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/题目难度:Medium题目描述:给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \1 4 \ 2...原创 2021-01-28 21:04:11 · 137 阅读 · 1 评论 -
leetcode 654. maximum-binary-tree 最大二叉树 python3
时间:2021-1-25题目地址:https://leetcode-cn.com/problems/maximum-binary-tree/题目难度:Medium题目描述:给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下:二叉树的根是数组 nums 中的最大元素。左子树是通过数组中 最大值左边部分 递归构造出的最大二叉树。右子树是通过数组中 最大值右边部分 递归构造出的最大二叉树。返回有给定数组 nums 构建的 最大二叉树 。.原创 2021-01-25 21:45:16 · 145 阅读 · 0 评论 -
leetcode 114. flatten-binary-tree-to-linked-list 二叉树展开为链表 python3
时间:2021-1-24题目地址:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/题目难度:Medium题目描述:给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5/ \ \3 4 6将其展开为:1\ 2 \ 3 \ 4 \ 5 ...原创 2021-01-24 12:46:39 · 156 阅读 · 4 评论 -
第 42 场双周赛 python3
时间:2020-12-27题目地址:https://leetcode-cn.com/contest/biweekly-contest-42/题目难度:Easy题目描述:5621. 无法吃午餐的学生数量学校的自助午餐提供圆形和方形的三明治,分别用数字0和1表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个栈里,每一轮:如果队列最前面的学生喜欢栈顶的三明治,那么会拿走它并离开队列。否则,这名...原创 2020-12-27 18:21:22 · 329 阅读 · 0 评论 -
217 周赛 python3
时间:2020-11-29题目地址:https://leetcode-cn.com/contest/weekly-contest-217/题目难度:Easy题目描述:5613. 最富有客户的资产总量给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例 1原创 2020-11-29 18:30:18 · 131 阅读 · 0 评论 -
261 周赛 python3
时间:2020-11-21题目地址:https://leetcode-cn.com/problems/sort-list/题目难度:Medium题目描述:给你链表的头结点head,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]...原创 2020-11-21 12:00:45 · 162 阅读 · 0 评论 -
leetcode 189. rotate-array 旋转数组 python3
时间:2020-10-20题目地址:https://leetcode-cn.com/problems/rotate-array/题目难度:Medium题目描述:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2...原创 2020-10-20 21:04:24 · 147 阅读 · 0 评论 -
leetcode 108. convert-sorted-array-to-binary-search-tree 将有序数组转换为二叉搜索树 python3
时间:2020-10-13题目地址:https://leetcode-cn.com/problems/balanced-binary-tree/题目难度:Easy题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true ...原创 2020-10-13 10:16:42 · 217 阅读 · 0 评论 -
leetcode 110. balanced-binary-tree 平衡二叉树 python3
时间:2020-10-12题目地址:https://leetcode-cn.com/problems/balanced-binary-tree/题目难度:Easy题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true ...原创 2020-10-12 11:45:56 · 203 阅读 · 0 评论 -
leetcode 220. contains-duplicate-iii 存在重复元素 III python3
时间:2020-10-11题目地址:https://leetcode-cn.com/problems/contains-duplicate-iii/题目难度:Medium题目描述:在整数数组 nums 中,是否存在两个下标 i 和 j,使得nums [i] 和nums [j]的差的绝对值小于等于 t ,且满足 i 和 j 的差的绝对值也小于等于 ķ 。如果存在则返回 true,不存在返回 false。示例1:输入: nums = [1,2,3,1], k = 3, t =...原创 2020-10-11 11:43:36 · 197 阅读 · 0 评论 -
leetcode 22. generate-parentheses 括号生成 python3
时间:2020-9-29题目地址:https://leetcode-cn.com/problems/generate-parentheses/题目难度:Medium题目描述:数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]思...原创 2020-09-29 10:52:26 · 235 阅读 · 0 评论