宫水三叶の刷题日记
  • 首页
  • 归档
  • 标签
  • 关于
  • 友链
  •   
  •   

LC 524. 通过删除字母匹配到字典里最长单词

题目描述这是 LeetCode 上的 524. 通过删除字母匹配到字典里最长单词 ,难度为 中等。 给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字典序最小的字符串。 如果答案不存在,则返回空字符串。 示例 1:123输入:s = "abpcplea&quo

2021-09-14
贪心 双指针 排序

LC 447. 回旋镖的数量

题目描述这是 LeetCode 上的 447. 回旋镖的数量 ,难度为 中等。 给定平面上 n 对 互不相同 的点 points,其中 points[i] = [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序)。 返回平面上所有回旋镖的数量。 示例 1:12345输入:points = [[0,0]

2021-09-13
哈希表 模拟

LC 678. 有效的括号字符串

题目描述这是 LeetCode 上的 678. 有效的括号字符串 ,难度为 中等。 给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。 有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 ) 必须有相应的左括号 ( 。 左括号 ( 必须在对应的右括号之前 )。 可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串。

2021-09-12
动态规划 模拟 有效括号问题

LC 600. 不含连续1的非负整数

题目描述这是 LeetCode 上的 600. 不含连续1的非负整数 ,难度为 困难。 给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含连续的1的个数。 示例 1:12345678910111213输入: 5输出: 5解释: 下面是带有相应二进制表示的非负整数<= 5:0 : 01 : 12 : 103 : 114 : 1005 : 101其中,只有整数3违反规则(有

2021-09-11
数位 DP

LC 1894. 找到需要补充粉笔的学生编号

题目描述这是 LeetCode 上的 1894. 找到需要补充粉笔的学生编号 ,难度为 中等。 一个班级里有 n 个学生,编号为 0 到 n - 1。 每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复这个过程,重新从编号为 0 的学生开始回答问题。 给你一个长度为 n 且下标从 0 开始的整数数组 chalk 和一

2021-09-10
模拟 二分 前缀和

LC 68. 文本左右对齐

题目描述这是 LeetCode 上的 68. 文本左右对齐 ,难度为 困难。 给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ‘ ‘ 填充,使得每行恰好有 maxWidth 个字符。 要求尽可能均匀分配单词间的空格数量。如果

2021-09-09
模拟 字符串

LC 502. IPO

题目描述这是 LeetCode 上的 502. IPO ,难度为 困难。 假设 力扣(LeetCode)即将开始 IPO 。 为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。 帮助 力扣 设计完成最多 k 个不同项目后得到最大总资本的方式。 给你 n 个项目。对于每个项目 i ,它都有一

2021-09-08
优先队列(堆) 贪心

LC 1221. 分割平衡字符串

题目描述这是 LeetCode 上的 1221. 分割平衡字符串 ,难度为 简单。 在一个平衡字符串中,'L' 和 'R' 字符的数量是相同的。 给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。 注意:分割得到的每个字符串都必须是平衡字符串。 返回可以通过分割得到的平衡字符串的最大数量。 示例 1:12345输入:s = "RLRRLLRLRL

2021-09-07
贪心 双指针

LC 704. 二分查找

题目描述这是 LeetCode 上的 704. 二分查找 ,难度为 简单。 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1:12345输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示

2021-09-06
二分

LC 470. 用 Rand7() 实现 Rand10()

题目描述这是 LeetCode 上的 470. 用 Rand7() 实现 Rand10() ,难度为 中等。 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 示例 1:123输入: 1输出: [7]示例 2:123输入: 2输出: [8,4]示例 3:123输

2021-09-05
数学 位运算

LC 剑指 Offer 10- I. 斐波那契数列

题目描述这是 LeetCode 上的 剑指 Offer 10- I. 斐波那契数列 ,难度为 简单。 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是

2021-09-04
动态规划 矩阵快速幂 打表 线性 DP 记忆化搜索

LC 面试题 17.14. 最小K个数

题目描述这是 LeetCode 上的 面试题 17.14. 最小K个数 ,难度为 中等。 设计一个算法,找出数组中最小的 $k$ 个数。以任意顺序返回这k个数均可。 示例:123输入: arr = [1,3,5,7,2,4,6,8], k = 4输出: [1,2,3,4] 提示: $0 <= len(arr) <= 100000$ $0 <= k <= \min(1000

2021-09-03
优先队列(堆) 排序

LC 剑指 Offer 22. 链表中倒数第k个节点

题目描述这是 LeetCode 上的 剑指 Offer 22. 链表中倒数第k个节点 ,难度为 简单。 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例:123给定一个链表: 1->2-

2021-09-02
栈 队列 链表 快慢指针

LC 165. 比较版本号

题目描述这是 LeetCode 上的 165. 比较版本号 ,难度为 中等。 给你两个版本号 version1 和 version2,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。 每个修订号由多位数字组成,可能包含前导零,每个版本号至少包含一个字符。 修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1,以此类推。

2021-09-01
模拟

LC 1109. 航班预订统计

题目描述这是 LeetCode 上的 1109. 航班预订统计 ,难度为中等。 这里有 $n$ 个航班,它们分别从 $1$ 到 $n$ 进行编号。 有一份航班预订表 bookings,表中第 $i$ 条预订记录 $bookings[i] = [first_i, last_i, seats_i]$ 意味着在从 $first_i$ 到 $last_i$ (包含 $first_i$ 和 $last_i$

2021-08-31
差分 区间求和问题 线段树
1…3738394041…58

搜索

Hexo Fluid
总访问量 次 总访客数 人