LC 2024. 考试的最大困扰度 题目描述这是 LeetCode 上的 2024. 考试的最大困扰度 ,难度为 中等。 一位老师正在出一场由 $n$ 道判断题构成的考试,每道题的答案为 true (用 'T' 表示)或者 false (用 'F' 表示)。老师想增加学生对自己做出答案的不确定性,方法是最大化有连续相同结果的题数。(也就是连续出现 true 或者连续出现 false)。 给你一个字符串 2022-03-28 双指针 滑动窗口
LC 693. 交替位二进制数 题目描述这是 LeetCode 上的 693. 交替位二进制数 ,难度为 简单。 给定一个正整数,检查它的二进制表示是否总是 $0$、$1$ 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1:12345输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:12345输入:n = 7输出:false解释:7 的二进制表示是:111.示例 3:12345输入:n 2022-03-27 模拟 位运算
LC 2028. 找出缺失的观测数据 题目描述这是 LeetCode 上的 2028. 找出缺失的观测数据 ,难度为 中等。 现有一份 $n + m$ 次投掷单个「六面」骰子的观测数据,骰子的每个面从 $1$ 到 $6$ 编号。观测数据中缺失了 $n$ 份,你手上只拿到剩余 $m$ 次投掷的数据。幸好你有之前计算过的这 $n + m$ 次投掷数据的平均值。 给你一个长度为 $m$ 的整数数组 rolls ,其中 $rolls[i]$ 2022-03-26 模拟 构造
LC 682. 棒球比赛 题目描述这是 LeetCode 上的 682. 棒球比赛 ,难度为 简单。 你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 $ops[i]$ 是你需要记录的第 $i$ 项操作,ops 遵循下述规则: 整数 x - 表示本回合新获得分数 x "+&qu 2022-03-25 模拟
LC 172. 阶乘后的零 题目描述这是 LeetCode 上的 172. 阶乘后的零 ,难度为 中等。 给定一个整数 $n$ ,返回 $n!$ 结果中尾随零的数量。 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1:12345输入:n = 3输出:0解释:3! = 6 ,不含尾随 0示例 2:12345输入:n = 5输出:1解释:5! = 120 ,有一个尾随 0示 2022-03-24 数学
LC 661. 图片平滑器 题目描述这是 LeetCode 上的 661. 图片平滑器 ,难度为 简单。 图像平滑器 是大小为 $3 * 3$ 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。 每个单元格的 平均灰度 定义为:该单元格自身及其周围的 $8$ 个单元格的平均值,结果需向下取整。(即,需要计算蓝色平滑器中 $9$ 个单元格的平均值)。 如果一个单元格周围存在单元格缺失的情况, 2022-03-23 模拟 前缀和
LC 440. 字典序的第K小数字 题目描述这是 LeetCode 上的 440. 字典序的第K小数字 ,难度为 困难。 给定整数 $n$ 和 $k$,返回 $[1, n]$ 中字典序第 $k$ 小的数字。 示例 1:12345输入: n = 13, k = 2输出: 10解释: 字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9],所以第二小的数字是 10。示例 2:123输入: 2022-03-22 模拟 数学 计数 找规律
LC 2038. 如果相邻两个颜色均相同则删除当前颜色 题目描述这是 LeetCode 上的 2038. 如果相邻两个颜色均相同则删除当前颜色 ,难度为 中等。 总共有 $n$ 个颜色片段排成一列,每个颜色片段要么是 'A' 要么是 'B' 。 给你一个长度为 $n$ 的字符串 colors ,其中 $colors[i]$ 表示第 $i$ 个颜色片段的颜色。 Alice 和 Bob 在玩一个游戏,他们轮流从这个字符串中删 2022-03-21 模拟 脑筋急转弯
LC 653. 两数之和 IV - 输入 BST 题目描述这是 LeetCode 上的 650. 只有两个键的键盘 ,难度为 简单。 给定一个二叉搜索树 root 和一个目标结果 k,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 示例 1:123输入: root = [5,3,6,2,4,null,7], k = 9输出: true示例 2:123输入: root = [5,3,6,2,4,null,7], k = 2022-03-20 哈希表 双指针 中序遍历 二叉树 树的搜索 迭代
LC 2039. 网络空闲的时刻 题目描述这是 LeetCode 上的 2039. 网络空闲的时刻 ,难度为 中等。 给你一个有 $n$ 个服务器的计算机网络,服务器编号为 $0$ 到 $n - 1$ 。同时给你一个二维整数数组 edges ,其中 $edges[i] = [u_i, v_i]$ 表示服务器 $u_i$ 和 $v_i$ 之间有一条信息线路,在一秒内它们之间可以传输任意数目的信息。再给你一个长度为 $n$ 且下标从 2022-03-19 BFS
LC 606. 根据二叉树创建字符串 题目描述这是 LeetCode 上的 606. 根据二叉树创建字符串 ,难度为 简单。 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。 空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。 示例 1:123456789101112输入: 二叉树: [1,2,3,4] 1 2022-03-18 栈 DFS 二叉树 递归 迭代
LC 2043. 简易银行系统 题目描述这是 LeetCode 上的 2043. 简易银行系统 ,难度为 中等。 你的任务是为一个很受欢迎的银行设计一款程序,以自动化执行所有传入的交易(转账,存款和取款)。 银行共有 $n$ 个账户,编号从 $1$ 到 $n$ 。每个账号的初始余额存储在一个下标从 $0$ 开始的整数数组 balance 中,其中第 $(i + 1)$ 个账户的初始余额是 $balance[i]$ 。 请你执行所 2022-03-17 模拟
LC 720. 词典中最长的单词 题目描述这是 LeetCode 上的 720. 词典中最长的单词 ,难度为 简单。 给出一个字符串数组 words 组成的一本英语词典。返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成。 若其中有多个可行的答案,则返回答案中字典序最小的单词。若无答案,则返回空字符串。 示例 1:12345输入:words = ["w"," 2022-03-16 哈希表 模拟 字典树
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