可信
文章平均质量分 62
ccluqh
这个作者很懒,什么都没留下…
展开
-
dfs 求二叉树节点最大深度/创建一颗二叉树
def dfs(m_root, deep): if not m_root: return val_depth_map[m_root.val] = max(val_depth_map.get(m_root.val, 0), deep) dfs(m_root.left, deep + 1) dfs(m_root.right, deep + 1)dfs(root, 1)def create_tree(root, array, i): if i &.原创 2021-12-15 19:11:28 · 970 阅读 · 0 评论 -
leetcode373. 查找和最小的K对数字
1.题目描述给定两个以升序排列的整数数组 nums1 和 nums2,以及一个整数 k。定义一对值(u,v),其中第一个元素来自nums1,第二个元素来自 nums2。请找到和最小的 k个数对(u1,v1), (u2,v2) ... (uk,vk)。示例 1:输入: nums1 = [1,7,11], nums2 = [2,4,6], k = 3输出: [1,2],[1,4],[1,6]解释: 返回序列中的前 3 对数: [1,2],[1,4]...原创 2021-12-14 21:22:01 · 931 阅读 · 0 评论 -
Python实现二分查找lower_bound和upper_bound
使用前提条件:数组是有序不递减数组内置函数:lower_bound:返回数组中大于等于target的第一个索引:index = bisect.bisect_left(nums, target)如果返回等于数组长度或者对应位置索引不等于目标值,那么说明没有找到upper_bound:返回数组中大于target的第一个索引:index = bisect.bisect_right(nums, target)该函数返回的是第一个大于目标值的索引, 如果返回0或者该索引前一个位置的值不是目原创 2021-11-25 20:01:53 · 1605 阅读 · 0 评论 -
leetcode76.最小覆盖子串
1.题目描述给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。2.解题思路解法一:题目例子中的S有点长,换个短的 S ...原创 2019-11-14 21:23:33 · 154 阅读 · 0 评论 -
leetcode1712.将数组分成三个子数组的方案数
1.题目描述1712. 将数组分成三个子数组的方案数我们称一个分割整数数组的方案是好的,当它满足:数组被分成三个非空连续子数组,从左至右分别命名为left,mid,right。 left中元素和小于等于mid中元素和,mid中元素和小于等于right中元素和。给你一个非负整数数组nums,请你返回好的分割nums方案数目。由于答案可能会很大,请你将结果对109+ 7取余后返回。示例 1:输入:nums = [1,1,1]...原创 2021-11-25 19:40:29 · 735 阅读 · 0 评论 -
leetcode560.和为k的子数组「前缀和&哈希」
1.题目描述给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数k的范围是[-1e7, 1e7]。2.解题思路...原创 2019-10-30 16:04:15 · 162 阅读 · 1 评论 -
leetcode253.会议室 II「差分」
1.题目描述给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。示例 1:输入: [[0, 30],[5, 10],[15, 20]]输出: 2示例 2:输入: [[7,10],[2,4]]输出...原创 2019-12-05 17:16:00 · 2433 阅读 · 0 评论 -
leetcode1094. 拼车「差分」、leetcode1109. 航班预定统计「差分」
1.题目描述假设你是一位顺风车司机,车上最初有capacity个空座位可以用来载客。由于道路的限制,车只能向一个方向行驶(也就是说,不允许掉头或改变方向,你可以将其想象为一个向量)。这儿有一份乘客行程计划表trips[][],其中trips[i] = [num_passengers, start_location, end_location]包含了第 i 组乘客的行程信息:必须接送的乘客数量;乘客的上车地点;以及乘客的下车地点。这些给出的地点位置是从你的初始出发位置向前...原创 2021-10-25 20:52:41 · 144 阅读 · 0 评论 -
“差分“的介绍与使用方法
"差分"的介绍与使用方法_哔哩哔哩_bilibili差分数组:前缀和的逆运算。适用于数组一段区间反复修改。eg.对下面这一全0数组的3~5区间的每个元素+21.差分数组:对下标起始位置元素+2,对下标结束位置的下一个位置元素-2(取反)2.前缀和求解:见红色部分由O(n)降到了O(1)如果有多次数组的修改,复杂度由由O(n^2)降到了O(n)(因为还有求前缀和的操作)eg.对下面这一非全0数组的两个区间分别+3、-21.求解差分数组:第一位直接落,接下来的用这一位原创 2021-10-25 20:32:50 · 375 阅读 · 0 评论 -
leetcode269.火星词典「拓扑排序」
1.题目描述现有一种使用字母的全新语言,这门语言的字母顺序与英语顺序不同。假设,您并不知道其中字母之间的先后顺序。但是,会收到词典中获得一个不为空的单词列表。因为是从词典中获得的,所以该单词列表内的单词已经按这门新语言的字母顺序进行了排序。您需要根据这个输入的列表,还原出此语言中已知的字母顺序。示例 1:输入:[ "wrt", "wrf", "er",...原创 2019-12-17 20:20:40 · 649 阅读 · 0 评论 -
leetcode207.课程表、leetcode210.课程表 II、leetcode444.序列重建「拓扑排序」
目录题目一:leetcode207.课程表1.题目描述2.解题思路3.代码实现题目二:leetcode210.课程表 II1.题目描述2.解题思路3.代码实现题目一:leetcode207.课程表1.题目描述现在你总共有 n 门课需要选,记为0到n-1。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课...原创 2019-12-10 14:54:27 · 563 阅读 · 0 评论 -
leetcode503. 下一个更大元素 II「单调栈」
1.题目描述给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;第二个 1 的下一个最大的数需要循环搜索,结果也是 2。注意: 输入数组的长度不会超过 10000.原创 2021-10-18 20:25:16 · 111 阅读 · 0 评论 -
剑指offer27. 二叉树的镜像/leetcode226. 翻转二叉树
1.题目描述翻转一棵二叉树。示例:输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2/ \ / \9 6 3 1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-b...原创 2020-03-23 13:53:38 · 191 阅读 · 0 评论 -
leetcode509.斐波那契数
1.题目描述斐波那契数,通常用F(n) 表示,形成的序列称为 斐波那契数列 。该数列由0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1)= 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1示例 2:输入:3输出:2解释:F(3) = F(2) + F(1) = 1 + 1 ...原创 2021-08-26 20:15:58 · 85 阅读 · 0 评论 -
剑指offer10- II. 青蛙跳台阶问题
1.题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100注意:本题与主站 70 题相同:https://leetcode-cn.com/problems/climbi.原创 2021-08-26 20:03:59 · 80 阅读 · 0 评论 -
leetcode70/剑指offer10.爬楼梯
1.题目描述假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 ...原创 2019-12-19 12:35:52 · 128 阅读 · 0 评论 -
leetcode739.每日温度「单调栈」
1.题目描述根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 300...原创 2019-11-30 16:57:06 · 217 阅读 · 0 评论