LC 1716. 计算力扣银行的钱 题目描述这是 LeetCode 上的 1716. 计算力扣银行的钱 ,难度为 简单。 Hercy 想要为购买第一辆车存钱,他每天都往力扣银行里存钱。 最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。 在接下来每一个周一,他都会比前一个周一多存入 1 块钱。 给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。 示例 1:12345输入:n 2022-01-14 模拟 数学
LC 373. 查找和最小的K对数字 题目描述这是 LeetCode 上的 373. 查找和最小的K对数字 ,难度为 中等。 给定两个以升序排列的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 $(u,v)$,其中第一个元素来自 nums1,第二个元素来自 nums2。 请找到和最小的 k 个数对 $(u_1,v_1), (u_2,v_2) … (u_k,v_k)$ 。 示例 1:123456输入: 2022-01-13 优先队列(堆) 二分 多路归并
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 ;否则,返回 fa 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 模拟