随笔分类 -  leetcode 题解

139.单词拆分
摘要:单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "cod 阅读全文
posted @ 2023-03-12 12:55 huangxk23 阅读(106) 评论(0) 推荐(0)
5.最长回文子串
摘要:最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 提示: 1 <= 阅读全文
posted @ 2023-03-11 21:31 huangxk23 阅读(42) 评论(0) 推荐(0)
413.等差数列划分
摘要:等差数列划分 如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。 例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。 给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。 子数组 是数组中的 阅读全文
posted @ 2023-03-11 11:01 huangxk23 阅读(116) 评论(0) 推荐(0)
62.不同路径
摘要:不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, n = 7 输出:28 示例 2: 阅读全文
posted @ 2023-03-10 20:08 huangxk23 阅读(28) 评论(0) 推荐(0)
45.跳跃游戏Ⅱ
摘要:跳跃游戏Ⅱ 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n 阅读全文
posted @ 2023-03-10 20:06 huangxk23 阅读(37) 评论(0) 推荐(0)
55.跳跃游戏
摘要:跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 阅读全文
posted @ 2023-03-09 16:54 huangxk23 阅读(18) 评论(0) 推荐(0)
213.打家劫舍Ⅱ
摘要:打家劫舍Ⅱ 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。 给定一个代表每个房屋存放金额的非负整数数组, 阅读全文
posted @ 2023-03-09 16:50 huangxk23 阅读(27) 评论(0) 推荐(0)
198.打家劫舍
摘要:打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金 阅读全文
posted @ 2023-03-09 16:47 huangxk23 阅读(15) 评论(0) 推荐(0)
79.单词搜索
摘要:单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复 阅读全文
posted @ 2023-03-08 12:43 huangxk23 阅读(34) 评论(0) 推荐(0)
40.组合总和 Ⅱ
摘要:组合总和Ⅱ 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidate 阅读全文
posted @ 2023-03-07 10:10 huangxk23 阅读(23) 评论(0) 推荐(0)
39.组合总和
摘要:组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选 阅读全文
posted @ 2023-03-07 10:01 huangxk23 阅读(33) 评论(0) 推荐(0)
47.全排列2
摘要:全排列2 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]] 示例 2: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1, 阅读全文
posted @ 2023-03-07 09:55 huangxk23 阅读(34) 评论(0) 推荐(0)
90.子集 2
摘要:子集2 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 1: 输入:nums = [1,2,2] 输出:[[],[1],[1,2],[1,2,2],[2],[2,2]] 示例 2 阅读全文
posted @ 2023-03-07 09:49 huangxk23 阅读(20) 评论(0) 推荐(0)
78.子集
摘要:子集 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示 阅读全文
posted @ 2023-03-07 09:46 huangxk23 阅读(37) 评论(0) 推荐(0)
被围绕的区域
摘要:被围绕的区域 给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 示例 1: 输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X", 阅读全文
posted @ 2023-03-05 16:42 huangxk23 阅读(40) 评论(0) 推荐(0)
所有可能的路径
摘要:所有可能的路径 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。 示例 1: 输入:graph = [ 阅读全文
posted @ 2023-03-05 15:55 huangxk23 阅读(19) 评论(0) 推荐(0)
二进制矩阵中的最短路径
摘要:二进制矩阵中的最短路径 给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。 二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即,(0, 0))到 右下角 单元格(即,(n - 1, n - 1))的路径,该路径同时满足下述要求 阅读全文
posted @ 2023-03-05 15:25 huangxk23 阅读(58) 评论(0) 推荐(0)
另一棵树的子树
摘要:另一棵树的子树 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身 阅读全文
posted @ 2023-03-04 10:48 huangxk23 阅读(38) 评论(0) 推荐(0)
填充每个节点的下一个右侧节点的指针
摘要:填充每个节点的下一个右侧节点的指针 给定一个二叉树: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NUL 阅读全文
posted @ 2023-03-04 10:21 huangxk23 阅读(19) 评论(0) 推荐(0)
省份数量
摘要:省份数量 有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。 给你一个 n x n 的矩阵 isConnected ,其中 isC 阅读全文
posted @ 2023-03-03 17:08 huangxk23 阅读(14) 评论(0) 推荐(0)