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

LC 380. O(1) 时间插入、删除和获取随机元素

题目描述这是 LeetCode 上的 380. O(1) 时间插入、删除和获取随机元素 ,难度为 中等。 实现 RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象 bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true;否则,返回 false。 bool remove(int val) 当元素

2022-04-12
哈希表 数据结构

LC 1012. 至少有 1 位重复的数字

题目描述这是 LeetCode 上的 1012. 至少有 1 位重复的数字 ,难度为 困难。 给定正整数 $n$,返回在 $[1, n]$ 范围内具有 至少 1 位 重复数字的正整数的个数。 示例 1:12345输入:n = 20输出:1解释:具有至少 1 位重复数字的正数(<= 20)只有 11 。示例 2:12345输入:n = 100输出:10解释:具有至少 1 位重复数字的正数(&l

2022-04-12
动态规划 数位 DP 容斥原理

LC 806. 写字符串需要的行数

题目描述这是 LeetCode 上的 806. 写字符串需要的行数 ,难度为 简单。 我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为 $100$ 个单位,如果我们在写某个字母的时候会使这行超过了 $100$ 个单位,那么我们应该把这个字母写到下一行。 我们给定了一个数组 widths,这个数组 $widths[0]$ 代表 'a' 需要的单位, $widths[

2022-04-11
模拟

LC 357. 统计各位数字都不同的数字个数

题目描述这是 LeetCode 上的 357. 统计各位数字都不同的数字个数 ,难度为 中等。 给你一个整数 $n$ ,统计并返回各位数字都不同的数字 $x$ 的个数,其中 $0 <= x < 10^n$ 。 示例 1:12345输入:n = 2输出:91解释:答案应为除去 11、22、33、44、55、66、77、88、99 外,在 0 ≤ x < 100 范围内的所有数字。

2022-04-10
数学 数位 DP 容斥原理

LC 2213. 由单个字符重复的最长子字符串

题目描述这是 LeetCode 上的 2213. 由单个字符重复的最长子字符串 ,难度为 困难。 给你一个下标从 $0$ 开始的字符串 s 。另给你一个下标从 $0$ 开始、长度为 $k$ 的字符串 queryCharacters,一个下标从 $0$ 开始、长度也是 $k$ 的整数 下标 数组 queryIndices,这两个都用来描述 $k$ 个查询。 第 $i$ 个查询会将 s 中位于下标 $

2022-04-10
线段树 区间求和

LC 804. 唯一摩尔斯密码词

题目描述这是 LeetCode 上的 804. 唯一摩尔斯密码词 ,难度为 简单。 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: 'a' 对应 ".-" , 'b' 对应 "-..." , 'c' 对应 "-.-.",以此类推。 为了方便

2022-04-10
模拟

LC 780. 到达终点

题目描述这是 LeetCode 上的 780. 到达终点 ,难度为 困难。 给定四个整数 sx,sy,tx 和 ty,如果通过一系列的转换可以从起点 $(sx, sy)$ 到达终点 $(tx, ty)$,则返回 true,否则返回 false。 从点 $(x, y)$ 可以转换到 $(x, x+y)$ 或者 $(x+y, y)$。 示例 1:123456789输入: sx = 1, sy = 1

2022-04-09
数学

LC 429. N 叉树的层序遍历

题目描述这是 LeetCode 上的 429. N 叉树的层序遍历 ,难度为 中等。 给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 示例 1:123输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]示例 2:123输入:root = [1

2022-04-07
BFS 树

LC 796. 旋转字符串

题目描述这是 LeetCode 上的 796. 旋转字符串 ,难度为 简单。 给定两个字符串,s 和 goal。如果在若干次旋转操作之后,s 能变成 goal,那么返回 true。 s 的旋转操作就是将 s 最左边的字符移动到最右边。 例如, 若 s = 'abcde',在旋转一次之后结果就是'bcdea' 。 示例 1:123输入: s = "ab

2022-04-06
模拟

LC 310. 最小高度树

题目描述这是 LeetCode 上的 310. 最小高度树 ,难度为 中等。 树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。 给你一棵包含 $n$ 个节点的树,标记为 $0$ 到 $n - 1$ 。给定数字 $n$ 和一个有 $n - 1$ 条无向边的 edges 列表(每一个边都是一对标签),其中 $edges[i] = [a_i, b

2022-04-05
动态规划 DFS 树形 DP

LC 762. 二进制表示中质数个计算置位

题目描述这是 LeetCode 上的 762. 二进制表示中质数个计算置位 ,难度为 简单。 给你两个整数 left 和 right,在闭区间 $[left, right]$ 范围内,统计并返回计算置位位数为质数的整数个数。 计算置位位数就是二进制表示中 $1$ 的个数。 例如, $21$ 的二进制表示 10101 有 $3$ 个计算置位。 示例 1:12345678910输入:left = 6,

2022-04-05
模拟 位运算

LC 744. 寻找比目标字母大的最小字母

题目描述这是 LeetCode 上的 744. 寻找比目标字母大的最小字母 ,难度为 简单。 给你一个排序后的字符列表 letters,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。 在比较时,字母是依序循环出现的。 举个例子:如果目标字母 target = 'z' 并且字符列表为 letters = ['a&#

2022-04-03
二分

LC 420. 强密码检验器

题目描述这是 LeetCode 上的 420. 强密码检验器 ,难度为 困难。 如果一个密码满足下述所有条件,则认为这个密码是强密码: 由至少 $6$ 个,至多 $20$ 个字符组成。 至少包含一个小写字母,一个大写字母,和一个数字。 同一字符不能连续出现三次 (比如 "...aaa..." 是不允许的, 但是 "...aa...a..." 如果满足其他条

2022-04-01
模拟

LC 1801. 积压订单中的订单总数

题目描述这是 LeetCode 上的 1801. 积压订单中的订单总数 ,难度为 中等。 给你一个二维整数数组 $orders$ ,其中每个 $orders[i] = [price_i, amount_i, orderType_i]$ 表示有 $amount_i$ 笔类型为 $orderType_i$、价格为 $price_i$ 的订单。 订单类型 $orderType_i$ 可以分为两种: $

2022-04-01
模拟 优先队列(堆) 数据结构

LC 954. 二倍数对数组

题目描述这是 LeetCode 上的 954. 二倍数对数组 ,难度为 中等。 给定一个长度为偶数的整数数组 arr,只有对 arr 进行重组后可以满足 “对于每个$ 0 <= i < len(arr) / 2$,都有 $arr[2 \times i + 1] = 2 \times arr[2 \times i]$” 时,返回 true;否则,返回 false。 示例 1:123输入:

2022-03-31
哈希表 优先队列(堆) 构造 拓扑排序
1…2324252627…58

搜索

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