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

LC 432. 全 O(1) 的数据结构

题目描述这是 LeetCode 上的 432. 全 O(1) 的数据结构 ,难度为 困难。 请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。 实现 AllOne 类: AllOne() 初始化数据结构的对象。 inc(String key) 字符串 key 的计数增加 $1$ 。如果数据结构中尚不存在 key ,那么插入计数为 $1$ 的 key 。 dec(Stri

2022-03-15
哈希表 双向链表

LC 2044. 统计按位或能得到最大值的子集数目

题目描述这是 LeetCode 上的 2044. 统计按位或能得到最大值的子集数目 ,难度为 中等。 给你一个整数数组 $nums$ ,请你找出 $nums$ 子集 按位或 可能得到的 最大值 ,并返回按位或能得到最大值的 不同非空子集的数目 。 如果数组 $a$ 可以由数组 $b$ 删除一些元素(或不删除)得到,则认为数组 $a$ 是数组 $b$ 的一个 子集 。如果选中的元素下标位置不一样,则

2022-03-14
DFS 位运算 二进制枚举 状压 DP

LC 599. 两个列表的最小索引总和

题目描述这是 LeetCode 上的 599. 两个列表的最小索引总和 ,难度为 简单。 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序,你可以假设答案总是存在。 示例 1:12345输入: list1 = [&quot

2022-03-14
哈希表 模拟

LC 393. UTF-8 编码验证

题目描述这是 LeetCode 上的 393. UTF-8 编码验证 ,难度为 中等。 给定一个表示数据的整数数组 data ,返回它是否为有效的 $UTF-8$ 编码。 UTF-8 中的一个字符可能的长度为 $1$ 到 $4$ 字节,遵循以下的规则: 对于 $1$ 字节 的字符,字节的第一位设为 $0$ ,后面 $7$ 位为这个符号的 unicode 码。 对于 $n$ 字节 的字符 ($n

2022-03-12
模拟

LC 590. N 叉树的后序遍历

题目描述这是 LeetCode 上的 590. N 叉树的后序遍历 ,难度为 简单。 给定一个 $n$ 叉树的根节点 $root$ ,返回 其节点值的后序遍历。 $n$ 叉树在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1:123输入:root = [1,null,3,2,4,null,5,6]输出:[5,6,3,2,4,1]示例 2:123输入:roo

2022-03-11
DFS BFS 递归 迭代 非递归

LC 2049. 统计最高分的节点数目

题目描述这是 LeetCode 上的 2049. 统计最高分的节点数目 ,难度为 中等。 给你一棵根节点为 $0$ 的 二叉树 ,它总共有 $n$ 个节点,节点编号为 $0$ 到 $n - 1$ 。 同时给你一个下标从 $0$ 开始的整数数组 $parents$ 表示这棵树,其中 $parents[i]$ 是节点 $i$ 的父节点。由于节点 $0$ 是根,所以 $parents[0] == -1$

2022-03-10
线性 DP 图论

LC 589. N 叉树的前序遍历

题目描述这是 LeetCode 上的 589. N 叉树的前序遍历 ,难度为 简单。 给定一个 $n$ 叉树的根节点 root,返回其节点值的前序遍历 。 $n$ 叉树在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1: 123输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4] 示例 2: 123输入:r

2022-03-09
树的搜索 递归 迭代

LC 798. 得分最高的最小轮调

题目描述这是 LeetCode 上的 798. 得分最高的最小轮调 ,难度为 困难。 给你一个数组 $nums$,我们可以将它按一个非负整数 $k$ 进行轮调,这样可以使数组变为 $[nums[k], nums[k + 1], … nums[nums.length - 1], nums[0], nums[1], …, nums[k-1]]$ 的形式。此后,任何值小于或等于其索引的项都可以记作一分。

2022-03-08
差分 区间求和问题

LC 2055. 蜡烛之间的盘子

题目描述这是 LeetCode 上的 2055. 蜡烛之间的盘子 ,难度为 中等。 给你一个长桌子,桌子上盘子和蜡烛排成一列。给你一个下标从 $0$ 开始的字符串 s ,它只包含字符 '*' 和 '|' ,其中 '*' 表示一个 盘子 ,'|' 表示一支 蜡烛 。 同时给你一个下标从 $0$ 开始的二维整数数组 queries ,其中

2022-03-07
二分 前缀和

LC 504. 七进制数

题目描述这是 LeetCode 上的 504. 七进制数 ,难度为 简单。 给定一个整数 num,将其转化为 $7$ 进制,并以字符串形式输出。 示例 1:123输入: num = 100输出: "202"示例 2:123输入: num = -7输出: "-10" 提示: $-10^7 <= num <= 10^7$ 模拟按照通用的进制转换

2022-03-06
模拟

LC 2100. 适合打劫银行的日子

题目描述这是 LeetCode 上的 2100. 适合打劫银行的日子 ,难度为 中等。 你和一群强盗准备打劫银行。 给你一个下标从 $0$ 开始的整数数组 $security$ ,其中 $security[i]$ 是第 $i$ 天执勤警卫的数量。日子从 $0$ 开始编号。同时给你一个整数 $time$ 。 如果第 $i$ 天满足以下所有条件,我们称它为一个适合打劫银行的日子: 第 $i$ 天前和

2022-03-06
前缀和

LC 521. 最长特殊序列 Ⅰ

题目描述这是 LeetCode 上的 521. 最长特殊序列 Ⅰ ,难度为 简单。 给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 。如果不存在,则返回 $-1$ 。 「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) 。 字符串 s 的子序列是在从 s 中删除任意数量的字符后可以获得的字符串。 例如,“abc” 是 “aebdc”

2022-03-04
脑筋急转弯

LC 2104. 子数组范围和

题目描述这是 LeetCode 上的 2104. 子数组范围和 ,难度为 中等。 给你一个整数数组 nums 。nums 中,子数组的 范围 是子数组中最大元素和最小元素的差值。 返回 nums 中 所有 子数组范围的 和 。 子数组是数组中一个连续 非空 的元素序列。 示例 1:123456789101112输入:nums = [1,2,3]输出:4解释:nums 的 6 个子数组如下所示:[1

2022-03-04
单调栈 区间 DP

LC 258. 各位相加

题目描述这是 LeetCode 上的 258. 各位相加 ,难度为 简单。 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例 1:12345678输入: num = 38输出: 2 解释: 各位相加的过程为:38 --> 3 + 8 --> 1111 --> 1 + 1 --> 2由于 2 是一位数,所以返回 2。示例 1:123输

2022-03-02
模拟 数学

LC 564. 寻找最近的回文数

题目描述这是 LeetCode 上的 564. 寻找最近的回文数 ,难度为 困难。 给定一个表示整数的字符串 $n$ ,返回与它最近的回文整数(不包括自身)。如果不止一个,返回较小的那个。 “最近的”定义为两个整数差的绝对值最小。 示例 1:123输入: n = "123"输出: "121"示例 2:12345输入: n = "1"输出:

2022-03-01
贪心 脑筋急转弯
1…2526272829…58

搜索

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