Keshawn_lu's Blog

Keshawn_lu's Blog

Become a better myself.

Leetcode 901. 股票价格跨度
题目简介:编写一个 StockSpanner 类,它收集某些股票的每日报价,并返回该股票当日价格的跨度。 今天股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。 例如,如果未来7天股票的价格是 [100, 80, 60, 70, 60, 75, 85],那么股票跨度将是 [1, 1, 1, 2, 1, 4, 6]。 示例: 1234567891011121314输入:["StockSpanner","next","next","next","next&qu...
Leetcode 779. 第K个语法符号
题目简介:我们构建了一个包含 n 行( 索引从 1 开始 )的表。首先在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。 例如,对于 n = 3 ,第 1 行是 0 ,第 2 行是 01 ,第3行是 0110 。 给定行数 n 和序数 k,返回第 n 行中第 k 个字符。( k 从索引 1 开始) 示例 1: 123输入: n = 1, k = 1输出: 0解释: 第一行:0 示例 2: 12345输入: n = 2, k = 1输出: 0解释: 第一行: 0 第二行: 01 提示: 1 <= n <= 30 1 <= k <...
Leetcode 1700. 无法吃午餐的学生数量
题目简介:学校的自助午餐提供圆形和方形的三明治,分别用数字 0 和 1 表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。 餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个 栈 里,每一轮: 如果队列最前面的学生 喜欢 栈顶的三明治,那么会 拿走它 并离开队列。 否则,这名学生会 放弃这个三明治 并回到队列的尾部。 这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止。 给你两个整数数组 students 和 sandwiches ,其中 sandwiches[i] 是栈里面第 i 个三明治的类型(i = 0 是栈的顶部), students[j] 是...
Leetcode 902. 最大为 N 的数字组合
题目简介:给定一个按 非递减顺序 排列的数字数组 digits 。你可以用任意次数 digits[i] 来写的数字。例如,如果 digits =['1','3','5'],我们可以写数字,如 ‘13’, ‘551’, 和 ‘1351315’。 返回 可以生成的小于或等于给定整数 n 的正整数的个数 。 示例 1: 12345输入:digits = ["1","3","5","7"], n = 100输出:20解释:可写出的 20 个数字是:1, 3, 5, 7,...
Leetcode 904. 水果成篮
题目简介:你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果: 你只有 两个 篮子,并且每个篮子只能装 单一类型 的水果。每个篮子能够装的水果总量没有限制。 你可以选择任意一棵树开始采摘,你必须从 每棵 树(包括开始采摘的树)上 恰好摘一个水果 。采摘的水果应当符合篮子中的水果类型。每采摘一次,你将会向右移动到下一棵树,并继续采摘。 一旦你走到某棵树前,但水果不符合篮子的水果类型,那么就必须停止采摘。 ...
Leetcode 886. 可能的二分法
题目简介:给定一组 n 人(编号为 1, 2, ..., n), 我们想把每个人分进任意大小的两组。每个人都可能不喜欢其他人,那么他们不应该属于同一组。 给定整数 n 和数组 dislikes ,其中 dislikes[i] = [ai, bi] ,表示不允许将编号为 ai 和 bi的人归入同一组。当可以用这种方法将所有人分进两组时,返回 true;否则返回 false。 示例 1: 123输入:n = 4, dislikes = [[1,2],[1,3],[2,4]]输出:true解释:group1 [1,4], group2 [2,3] 示例 2: 12输入:n = 3, disli...
Leetcode 1441. 用栈操作构建数组
题目简介:给你一个数组 target 和一个整数 n。每次迭代,需要从 list = { 1 , 2 , 3 ..., n } 中依次读取一个数字。 请使用下述操作来构建目标数组 target : "Push":从 list 中读取一个新元素, 并将其推入数组中。 "Pop":删除数组中的最后一个元素。 如果目标数组构建完成,就停止读取更多元素。 题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。 请返回构建目标数组所用的操作序列。如果存在多个可行方案,返回任一即可。 示例 1: 123456输入:target = [1,3],...
Leetcode 940. 不同的子序列 II
题目简介:给定一个字符串 s,计算 s 的 不同非空子序列 的个数。因为结果可能很大,所以返回答案需要对 10^9 + 7 取余 。 字符串的 子序列 是经由原字符串删除一些(也可能不删除)字符但不改变剩余字符相对位置的一个新字符串。 例如,"ace" 是 "abcde" 的一个子序列,但 "aec" 不是。 示例 1: 123输入:s = "abc"输出:7解释:7 个不同的子序列分别是 "a", "b", "c", "ab"...
Leetcode 769. 最多能完成排序的块
题目简介:给定一个长度为 n 的整数数组 arr ,它表示在 [0, n - 1] 范围内的整数的排列。 我们将 arr 分割成若干 块 (即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后的原数组相同。 返回数组能分成的最多块数量。 示例 1: 12345输入: arr = [4,3,2,1,0]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。例如,分成 [4, 3], [2, 1, 0] 的结果是 [3, 4, 0, 1, 2],这不是有序的数组。 示例 2: 12345输入: arr = [1,0,2,3,4]输出: 4解释:我们可以把它分...
Leetcode 817. 链表组件
题目简介:给定链表头结点 head,该链表上的每个结点都有一个 唯一的整型值 。同时给定列表 nums,该列表是上述链表中整型值的一个子集。返回列表 nums 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 nums 中)构成的集合。 示例 1: 123输入: head = [0,1,2,3], nums = [0,1,3]输出: 2解释: 链表中,0 和 1 是相连接的,且 nums 中不包含 2,所以 [0, 1] 是 nums 的一个组件,同理 [3] 也是一个组件,故返回 2。 提示: 链表中节点数为n 1 <= n <= 10^4 ...
avatar
鸣蜩十九
Always
友链
CSDN BiliBili