LC 807. 保持城市天际线 题目描述这是 LeetCode 上的 807. 保持城市天际线 ,难度为 中等。 在二维数组 $grid$ 中,$grid[i][j]$ 代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 $0$ 也被认为是建筑物。 最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时, 2021-12-12 贪心
LC 709. 转换成小写字母 题目描述这是 LeetCode 上的 709. 转换成小写字母 ,难度为 简单。 给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 示例 1:123输入:s = "Hello"输出:"hello"示例 2:123输入:s = "here"输出:"here"示例 3:123输入:s = 2021-12-12 模拟
LC 911. 在线选举 题目描述这是 LeetCode 上的 911. 在线选举 ,难度为 中等。 给你两个整数数组 $persons$ 和 $times$ 。 在选举中,第 $i$ 张票是在时刻为 $times[i]$ 时投给候选人 $persons[i]$ 的。 对于发生在时刻 $t$ 的每个查询,需要找出在 t 时刻在选举中领先的候选人的编号。 在 $t$ 时刻投出的选票也将被计入我们的查询之中。在平局的情况下,最 2021-12-10 二分
LC 748. 最短补全词 题目描述这是 LeetCode 上的 748. 最短补全词 ,难度为 简单。 给你一个字符串 $licensePlate$ 和一个字符串数组 $words$ ,请你找出并返回 $words$ 中的 最短补全词 。 补全词 是一个包含 $licensePlate$ 中所有的字母的单词。在所有补全词中,最短的那个就是 最短补全词 。 在匹配 $licensePlate$ 中的字母时: 忽略 $lic 2021-12-09 模拟
LC 794. 有效的井字游戏 题目描述这是 LeetCode 上的 794. 有效的井字游戏 ,难度为 中等。 给你一个字符串数组 board 表示井字游戏的棋盘。当且仅当在井字游戏过程中,棋盘有可能达到 board 所显示的状态时,才返回 true 。 井字游戏的棋盘是一个 3 x 3 数组,由字符 ' ','X' 和 'O' 组成。字符 ' ' 代表一个空位。 2021-12-08 模拟
LC 689. 三个无重叠子数组的最大和 题目描述这是 LeetCode 上的 689. 三个无重叠子数组的最大和 ,难度为 困难。 给你一个整数数组 nums 和一个整数 k ,找出三个长度为 k 、互不重叠、且 3 * k 项的和最大的子数组,并返回这三个子数组。 以下标的数组形式返回结果,数组中的每一项分别指示每个子数组的起始位置(下标从 $0$ 开始)。如果有多个结果,返回字典序最小的一个。 示例 1:123456输入:nums 2021-12-07 序列 DP 前缀和
LC 1034. 边界着色 题目描述这是 LeetCode 上的 1034. 边界着色 ,难度为 中等。 给你一个大小为 m x n 的整数矩阵 grid,表示一个网格。另给你三个整数 row、col 和 color 。网格中的每个值表示该位置处的网格块的颜色。 当两个网格块的颜色相同,而且在四个方向中任意一个方向上相邻时,它们属于同一 连通分量 。 连通分量的边界 是指连通分量中的所有与不在分量中的网格块相邻(四个方向上) 2021-12-06 图论 DFS 图论 BFS
LC 1816. 截断句子 题目描述这是 LeetCode 上的 1816. 截断句子 ,难度为 简单。 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。 每个单词仅由大小写英文字母组成(不含标点符号)。 例如,"Hello World"、"HELLO" 和 "hello world hello world" 都是句子。给你一个句子 s 2021-12-05 模拟
LC 372. 超级次方 题目描述这是 LeetCode 上的 372. 超级次方 ,难度为 中等。 你的任务是计算 ab 对 $1337$ 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。 示例 1:123输入:a = 2, b = [3]输出:8示例 2:123输入:a = 2, b = [1,0]输出:1024示例 3:123输入:a = 1, b = [4,3,3,8,5,2]输出:1示例 4: 2021-12-04 数学 快速幂
LC 383. 赎金信 题目描述这是 LeetCode 上的 383. 赎金信 ,难度为 简单。 为了不在赎金信中暴露字迹,从杂志上搜索各个需要的字母,组成单词来表达意思。 给你一个赎金信 (ransomNote) 字符串和一个杂志(magazine)字符串,判断ransomNote 能不能由 magazines 里面的字符构成。 如果可以构成,返回 true ;否则返回 false 。 magazine 中的每个字符只 2021-12-03 模拟
LC 1005. K 次取反后最大化的数组和 题目描述这是 LeetCode 上的 1005. K 次取反后最大化的数组和 ,难度为 简单。 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最大和 。 示例 1:12345输入:nums = [4,2, 2021-12-02 模拟 优先队列(堆) 贪心
LC 506. 相对名次 题目描述这是 LeetCode 上的 506. 相对名次 ,难度为 简单。 给你一个长度为 n 的整数数组 score,其中 score[i] 是第 $i$ 位运动员在比赛中的得分。所有得分都互不相同。 运动员将根据得分决定名次,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。运动员的名次决定了他们的获奖情况: 名次第 1 的运动员获金牌 "Gold M 2021-12-01 模拟 排序
LC 1446. 连续字符 题目描述这是 LeetCode 上的 1446. 连续字符 ,难度为 简单。 给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。 请你返回字符串的能量。 示例 1:12345输入:s = "leetcode"输出:2解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。示例 2:12345输入: 2021-11-30 模拟 双指针
LC 400. 第 N 位数字 题目描述这是 LeetCode 上的 400. 第 N 位数字 ,难度为 中等。 给你一个整数 $n$ ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 $n$ 位数字。 示例 1:123输入:n = 3输出:3示例 2:12345输入:n = 11输出:0解释:第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7, 2021-11-29 模拟 数学
LC 786. 第 K 个最小的素数分数 题目描述这是 LeetCode 上的 786. 第 K 个最小的素数分数 ,难度为 中等。 给你一个按递增顺序排序的数组 arr 和一个整数 k 。 数组 arr 由 $1$ 和若干 素数 组成,且其中所有整数互不相同。 对于每对满足 $0 < i < j < arr.length$ 的 $i$ 和 $j$ ,可以得到分数 $arr[i] / arr[j]$ 。 那么第 $k$ 2021-11-28 双指针 二分 优先队列(堆) 多路归并