LC 747. 至少是其他数字两倍的最大数 题目描述这是 LeetCode 上的 747. 至少是其他数字两倍的最大数 ,难度为 简单。 给你一个整数数组 $nums$ ,其中总是存在 唯一的 一个最大整数 。 请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。 如果是,则返回 最大元素的下标 ,否则返回 $-1$ 。 示例 1:12345输入:nums = [3,6,1,0]输出:1解释:6 是最大的整数,对于数组中 2022-01-12 模拟
LC 334. 递增的三元子序列 题目描述这是 LeetCode 上的 334. 递增的三元子序列 ,难度为 中等。 给你一个整数数组 nums,判断这个数组中是否存在长度为 $3$ 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false。 示例 1:12345输入: 2022-01-11 二分 贪心 最长上升子序列 LIS
LC 1036. 逃离大迷宫 题目描述这是 LeetCode 上的 1036. 逃离大迷宫 ,难度为 困难。 在一个 $10^6 \times 10^6$ 的网格中,每个网格上方格的坐标为 $(x, y)$ 。 现在从源方格 $source = [s_x, s_y]$ 开始出发,意图赶往目标方格 $target = [t_x, t_y]$ 。 数组 $blocked$ 是封锁的方格列表,其中每个 $blocked[i] = [ 2022-01-10 几何 BFS
LC 306. 累加数 题目描述这是 LeetCode 上的 306. 累加数 ,难度为 中等。 累加数 是一个字符串,组成它的数字可以形成累加序列。 一个有效的 累加序列 必须 至少 包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。 给你一个只包含数字 '0'-'9' 的字符串,编写一个算法来判断给定输入是否是 累加数 。如果是,返回 true ;否则 2022-01-09 回溯算法 高精度
LC 1629. 按键持续时间最长的键 题目描述这是 LeetCode 上的 1629. 按键持续时间最长的键 ,难度为 简单。 LeetCode 设计了一款新式键盘,正在测试其可用性。测试人员将会点击一系列键(总计 n 个),每次一个。 给你一个长度为 n 的字符串 keysPressed ,其中 keysPressed[i] 表示测试序列中第 i 个被按下的键。releaseTimes 是一个升序排列的列表,其中 releaseTi 2022-01-08 模拟
LC 89. 格雷编码 题目描述这是 LeetCode 上的 89. 格雷编码 ,难度为 中等。 $n$ 位格雷码序列 是一个由 $2^n$ 个整数组成的序列,其中: 每个整数都在范围 $[0, 2^n - 1]$ 内(含 $0$ 和 $2^n - 1$) 第一个整数是 0 一个整数在序列中出现 不超过一次 每对 相邻 整数的二进制表示 恰好一位不同 ,且 第一个 和 最后一个 整数的二进制表示 恰好一位不同 给你一 2022-01-08 模拟
LC 1614. 括号的最大嵌套深度 题目描述这是 LeetCode 上的 1614. 括号的最大嵌套深度 ,难度为 简单。 如果字符串满足以下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): 字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符。 字符串可以写为 AB(A 与 B 字符串连 2022-01-06 模拟
LC 71. 简化路径 题目描述这是 LeetCode 上的 71. 简化路径 ,难度为 中等。 给你一个字符串 path,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的 2022-01-05 模拟 栈
LC 1576. 替换所有的问号 题目描述这是 LeetCode 上的 1576. 替换所有的问号 ,难度为 简单。 给你一个仅包含小写英文字母和 '?' 字符的字符串 s,请你将所有的 '?' 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。 注意:你 不能 修改非 '?' 字符。 题目测试用例保证 除 '?' 字符 之外,不存在连续重复的字符。 在 2022-01-04 模拟
LC 913. 猫和老鼠 题目描述这是 LeetCode 上的 913. 猫和老鼠 ,难度为 困难。 两位玩家分别扮演猫和老鼠,在一张无向图上进行游戏,两人轮流行动。 图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成。 老鼠从节点 1 开始,第一个出发;猫从节点 2 开始,第二个出发。在节点 0 处有一个洞。 在每个玩家的行动中,他们 必须 沿着图中与所在当前位置连通的一条边移动。 2022-01-03 动态规划 记忆化搜索
LC 1185. 一周中的第几天 题目描述这是 LeetCode 上的 1185. 一周中的第几天 ,难度为 简单。 给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。 输入为三个整数:day、month 和 year,分别表示日、月、年。 您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", " 2022-01-03 模拟
LC 390. 消除游戏 题目描述这是 LeetCode 上的 390. 消除游戏 ,难度为 中等。 列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。 请你对 arr 应用下述算法: 从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。 重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。 不断重复这两步,从左到右和从右到左交替进行,直到 2022-01-02 动态规划 数学 约瑟夫环
LC 2022. 将一维数组转变成二维数组 题目描述这是 LeetCode 上的 2022. 将一维数组转变成二维数组 ,难度为 简单。 给你一个下标从 $0$ 开始的一维整数数组 original 和两个整数 m 和 n 。 你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组。 original 中下标从 0 到 n - 1 (都 包含 )的元素构成二维数组的第一行,下标从 n 到 2 * n - 1 (都 2021-12-31 模拟
LC 507. 完美数 题目描述这是 LeetCode 上的 507. 完美数 ,难度为 简单。 对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。 给定一个 整数 n, 如果是完美数,返回 true,否则返回 false。 示例 1:123456输入:num = 28输出:true解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4, 7, 和 14 是 28 的所 2021-12-30 模拟 数学 数论
LC 846. 一手顺子 题目描述这是 LeetCode 上的 846. 一手顺子 ,难度为 中等。 Alice 手中有一把牌,她想要重新排列这些牌,分成若干组,使每一组的牌数都是 groupSize ,并且由 groupSize 张连续的牌组成。 给你一个整数数组 hand 其中 hand[i] 是写在第 i 张牌,和一个整数 groupSize。 如果她可能重新排列这些牌,返回 true ;否则,返回 false 。 2021-12-29 哈希表 模拟 优先队列(堆)