![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
qq_31282741
这个作者很懒,什么都没留下…
展开
-
452. 用最少数量的箭引爆气球
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的弓箭原创 2021-11-02 21:11:58 · 139 阅读 · 0 评论 -
leetcode 1894. 找到需要补充粉笔的学生编号
难度:中等 一个班级里有 n 个学生,编号为 0 到 n - 1 。每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复这个过程,重新从编号为 0 的学生开始回答问题。 给你一个长度为 n 且下标从 0 开始的整数数组 chalk 和一个整数 k 。一开始粉笔盒里总共有 k 支粉笔。当编号为 i 的学生回答问题时,他会消耗 chalk[i] 支粉笔。如果剩余粉笔数量 严格小于 chalk[i] ,那么学生 i 需要 补充 粉笔。原创 2021-09-10 22:00:57 · 134 阅读 · 0 评论 -
leetcode 470. 用 Rand7() 实现 Rand10() k进制生成+拒绝采样
难度:中等 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 示例 1: 输入: 1 输出: [7] 示例 2: 输入: 2 输出: [8,4] 示例 3: 输入: 3 输出: [8,1,10] 提示: rand7 已定义。 传入参数: n 表示 rand10 的调用次数。 进阶: rand7()调用次数的 期望值 是多少 ? 你能否尽量少调用 rand7() ?原创 2021-09-05 19:21:44 · 163 阅读 · 0 评论 -
剑指 Offer 10- I. 斐波那契数列
难度:简单 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0)=0,F(1)=1F(N)=F(N−1)+F(N−2),其中N>1. F(0) = 0, F(1) = 1 \\ F(N) = F(N - 1) + F(N - 2), 其中 N > 1. F(0)=0,F(1)=1F(N)=F(N−1)+F(N−2),其中N>1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需原创 2021-09-04 19:22:01 · 141 阅读 · 0 评论 -
leetcode 面试题 17.14. 最小K个数 大顶堆 小顶堆 快排
leetcode 面试题 17.14. 最小K个数 [难度:中等] 设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。 示例: 输入: arr = [1,3,5,7,2,4,6,8], k = 4 输出: [1,2,3,4] 提示: 0 <= len(arr) <= 100000 0 <= k <= min(100000, len(arr)) 分析:可以使用小顶堆、大顶堆以及快速排序的思路来完成该题 使用小顶堆时就是对整个数组遍历构造堆,需要较多的空间,且建堆的复原创 2021-09-03 22:07:17 · 273 阅读 · 0 评论 -
leetcode 165. 比较版本号 双指针
难度:中等 给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和修订原创 2021-09-01 20:50:57 · 84 阅读 · 0 评论 -
leetcode 1109. 航班预订统计 差分
难度:中等 这里有 n 个航班,它们分别从 1 到 n 进行编号。 有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。 请你返回一个长度为 n 的数组 answer,其中 answer[i] 是航班 i 上预订的座位总数。 示例 1: 输入:bookings = [[1,2,10],[2,3,2原创 2021-08-31 19:42:39 · 162 阅读 · 0 评论 -
leetcode 528. 按权重随机选择
难度:中等 给定一个正整数数组 w ,其中 w[i] 代表下标 i 的权重(下标从 0 开始),请写一个函数 pickIndex ,它可以随机地获取下标 i,选取下标 i 的概率与 w[i] 成正比。 例如,对于 w = [1, 3],挑选下标 0 的概率为 1 / (1 + 3) = 0.25 (即,25%),而选取下标 1 的概率为 3 / (1 + 3) = 0.75(即,75%)。 也就是说,选取下标 i 的概率为 w[i] / sum(w) 。 示例 1: 输入: ["Solution","pi原创 2021-08-30 21:10:03 · 178 阅读 · 0 评论 -
Leetcode 1588 所有奇数长度子数组的和 Java
给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。 子数组 定义为原数组中的一个连续子序列。 请你返回 arr 中 所有奇数长度子数组的和 。 示例 1: 输入:arr = [1,4,2,5,3] 输出:58 解释:所有奇数长度子数组和它们的和为: [1] = 1 [4] = 4 [2] = 2 [5] = 5 [3] = 3 [1,4,2] = 7 [4,2,5] = 11 [2,5,3] = 10 [1,4,2,5,3] = 15 我们将所有值求和得到 1 + 4 + 2 + 5 +原创 2021-08-29 10:12:31 · 97 阅读 · 0 评论