LC 1129. 颜色交替的最短路径 题目描述这是 LeetCode 上的 1129. 颜色交替的最短路径 ,难度为 中等。 在一个有向图中,节点分别标记为 0, 1, ..., n-1。图中每条边为红色或者蓝色,且存在自环或平行边。 red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的蓝色有向边。 返回长度为 2023-02-06 BFS 最短路
LC 1798. 你能构造出连续值的最大数目 题目描述这是 LeetCode 上的 1798. 你能构造出连续值的最大数目 ,难度为 中等。 给你一个长度为 n 的整数数组 coins,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i]。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以构造出 x 。 请返回从 0 开始(包括 0 ),你最多能构造出多少个连续整数。 你可能有多个相同值的硬币。 示例 1:123 2023-02-06 数学 排序 构造 脑筋急转弯
LC 1669. 合并两个链表 题目描述这是 LeetCode 上的 1669. 合并两个链表 ,难度为 中等。 给你两个链表 list1 和 list2,它们包含的元素分别为 n 个和 m 个。 请你将 list1 中下标从 a 到 b 的全部节点都删除,并将 list2 接在被删除节点的位置。 下图中蓝色边和节点展示了操作后的结果: 请你返回结果链表的头指针。 示例 1: 12345输入:list1 = [0,1,2,3, 2023-02-03 模拟 链表
LC 1802. 有界数组中指定下标处的最大值 题目描述这是 LeetCode 上的 1802. 有界数组中指定下标处的最大值 ,难度为 中等。 给你三个正整数 n、index 和 maxSum。你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数): nums.length == n nums[i] 是 正整数 ,其中 0 <= i < n abs(nums[i] - nums[i+1]) <= 1 2023-01-06 模拟 二分 贪心 数学 构造
LC 1759. 统计同构子字符串的数目 题目描述这是 LeetCode 上的 1759. 统计同构子字符串的数目 ,难度为 中等。 给你一个字符串 s,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 $10^9 + 7$ 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。 子字符串 是字符串中的一个连续字符序列。 示例 1:12345678910111213输入:s 2022-12-26 双指针 数学
LC 1760. 袋子里最少数目的球 题目描述这是 LeetCode 上的 1760. 袋子里最少数目的球 ,难度为 中等。 给你一个整数数组 nums,其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations。 你可以进行如下操作至多 maxOperations 次: 选择任意一个袋子,并将袋子里的球分到 2 个新的袋子中,每个袋子里都有 正整数 个球。 比方说,一个袋子里有 5 个球,你可 2022-12-26 二分
LC 1785. 构成特定和需要添加的最少元素 题目描述这是 LeetCode 上的 1785. 构成特定和需要添加的最少元素 ,难度为 中等。 给你一个整数数组 nums,和两个整数 limit 与 goal。 数组 nums 有一条重要属性:abs(nums[i]) <= limit。 返回使数组元素总和等于 goal 所需要向数组中添加的 最少元素数量 ,添加元素 不应改变 数组中 abs(nums[i]) <= limit 2022-12-16 模拟 贪心
LC 1781. 所有子字符串美丽值之和 题目描述这是 LeetCode 上的 1781. 所有子字符串美丽值之和 ,难度为 中等。 一个字符串的 美丽值 定义为:出现频率最高字符与出现频率最低字符的出现次数之差。 比方说,"abaacc" 的美丽值为 3 - 1 = 2。 给你一个字符串 s ,请你返回它所有子字符串的 美丽值 之和。 示例 1:12345输入:s = "aabcb"输出:5解释: 2022-12-14 模拟 哈希表
LC 1697. 检查边长度限制的路径是否存在 题目描述这是 LeetCode 上的 1697. 检查边长度限制的路径是否存在 ,难度为 困难。 给你一个 n 个点组成的无向图边集 edgeList,其中 $edgeList[i] = [u_i, v_i, dis_i]$ 表示点 $u_i$ 和点 $v_i$ 之间有一条长度为 $dis_i$ 的边。请注意,两个点之间可能有 超过一条边 。 给你一个查询数组 queries,其中 $querie 2022-12-14 双指针 并查集 排序
LC 1780. 判断一个数字是否可以表示成三的幂的和 题目描述这是 LeetCode 上的 1780. 判断一个数字是否可以表示成三的幂的和 ,难度为 中等。 给你一个整数 n,如果你可以将 n 表示成若干个不同的三的幂之和,请你返回 true,否则请返回 false。 对于一个整数 y,如果存在整数 x 满足 y == 3x,我们称这个整数 y 是三的幂。 示例 1:12345输入:n = 12输出:true解释:12 = 31 + 32示例 2: 2022-12-12 数学
LC 1691. 堆叠长方体的最大高度 题目描述这是 LeetCode 上的 1691. 堆叠长方体的最大高度 ,难度为 困难。 给你 n 个长方体 cuboids,其中第 i 个长方体的长宽高表示为 $cuboids[i] = [width_i, length_i, height_i]$(下标从 0 开始)。请你从 cuboids 选出一个 子集 ,并将它们堆叠起来。 如果 $width{i} <= width{j}$ 且 $l 2022-12-10 动态规划 序列 DP 排序
LC 113. 路径总和 II 题目描述这是 LeetCode 上的 113. 路径总和 II ,难度为 中等。 给你二叉树的根节点 root 和一个整数目标和 targetSum,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 123输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[ 2022-12-10 DFS 二叉树
LC 93. 复原 IP 地址 题目描述这是 LeetCode 上的 93. 复原 IP 地址 ,难度为 中等。 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245" 2022-12-09 DFS 回溯算法
LC 1775. 通过最少操作次数使数组的和相等 题目描述这是 LeetCode 上的 1775. 通过最少操作次数使数组的和相等量 ,难度为 中等。 给你两个长度可能不等的整数数组 nums1 和 nums2 。两个数组中的所有值都在 1 到 6 之间(包含 1 和 6)。 每次操作中,你可以选择 任意 数组中的任意一个整数,将它变成 1 到 6 之间 任意 的值(包含 1 和 6)。 请你返回使 nums1 中所有数的和与 nums2 中所有 2022-12-09 贪心 数学 枚举
LC 95. 不同的二叉搜索树 II 题目描述这是 LeetCode 上的 95. 不同的二叉搜索树 II ,难度为 中等。 给你一个整数 n,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。 示例 1:123输入:n = 3输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null, 2022-12-09 DFS 递归 树 二叉搜索树 爆搜 BST