随笔分类 -  leetccode

力扣刷题
0491-递增子序列
摘要:给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 示例 1: 输入:nums = [4,6,7,7] 输出:[[4,6],[4,6,7] 阅读全文

posted @ 2021-11-23 08:17 进击的davis 阅读(37) 评论(0) 推荐(0)

0037-解数独
摘要:编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例: 输入: 阅读全文

posted @ 2021-11-22 22:57 进击的davis 阅读(118) 评论(0) 推荐(0)

0051-N皇后
摘要:n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。 示例 1: 输入:n = 阅读全文

posted @ 2021-11-22 22:22 进击的davis 阅读(47) 评论(0) 推荐(0)

0047-全排列II
摘要:给定一个可包含重复数字的序列 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,3],[2 阅读全文

posted @ 2021-11-22 21:39 进击的davis 阅读(40) 评论(0) 推荐(0)

028-实现strStr()
摘要:实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 https://leetcode-cn.com/problems/implement- 阅读全文

posted @ 2021-11-22 09:51 进击的davis 阅读(35) 评论(0) 推荐(0)

0046-全排列
摘要:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = [0,1] 输 阅读全文

posted @ 2021-11-22 08:22 进击的davis 阅读(41) 评论(0) 推荐(0)

0090-子集II
摘要:给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 1: 输入:nums = [1,2,2] 输出:[[],[1],[1,2],[1,2,2],[2],[2,2]] 示例 2: 输入 阅读全文

posted @ 2021-11-21 23:05 进击的davis 阅读(50) 评论(0) 推荐(0)

0078-子集
摘要:给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2 阅读全文

posted @ 2021-11-21 22:48 进击的davis 阅读(105) 评论(0) 推荐(0)

0093-复原IP地址
摘要:有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@ 阅读全文

posted @ 2021-11-21 22:31 进击的davis 阅读(16) 评论(0) 推荐(0)

0131-分割回文串
摘要:给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s = "aab" 输出:[["a","a","b"],["aa","b"]] 示例 2: 输入:s = "a" 输出:[["a"]] 阅读全文

posted @ 2021-11-21 21:38 进击的davis 阅读(46) 评论(0) 推荐(0)

0216.-组合总和 III
摘要:找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]] 示例 2: 输入: k = 3, n = 9 输出: 阅读全文

posted @ 2021-11-21 21:07 进击的davis 阅读(28) 评论(0) 推荐(0)

0040-组合总和II
摘要:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,7, 阅读全文

posted @ 2021-11-21 17:56 进击的davis 阅读(16) 评论(0) 推荐(0)

0039-组合总和
摘要:给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。 对于给定的输入,保证和为 t 阅读全文

posted @ 2021-11-21 17:18 进击的davis 阅读(44) 评论(0) 推荐(0)

0017-电话号码的字母组合
摘要:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23" 输出:["ad","ae","af","bd","be","bf","cd","ce" 阅读全文

posted @ 2021-11-21 16:06 进击的davis 阅读(88) 评论(0) 推荐(0)

0077-组合
摘要:给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 示例 2: 输入:n = 1, k = 1 阅读全文

posted @ 2021-11-21 15:19 进击的davis 阅读(281) 评论(0) 推荐(0)

1365-有多少小于当前数字的数字
摘要:给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。 以数组形式返回答案。 示例 1: 输入:nums = [8, 阅读全文

posted @ 2021-11-20 23:43 进击的davis 阅读(65) 评论(0) 推荐(0)

0129-求根节点到叶节点数字之和
摘要:给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 → 2 → 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数字之和 。 叶节点 是指没有子节点的节点。 示例 1: 输入: 阅读全文

posted @ 2021-11-20 23:11 进击的davis 阅读(48) 评论(0) 推荐(0)

1382-二叉搜索树变平衡树
摘要:给你一棵二叉搜索树,请你返回一棵 平衡后 的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。 如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过 1 ,我们就称这棵二叉搜索树是 平衡的 。 如果有多种构造方法,请你返回任意一种。 示例: 输入:root = [1,null,2,null,3, 阅读全文

posted @ 2021-11-20 22:53 进击的davis 阅读(48) 评论(0) 推荐(0)

0100-相同的树
摘要:给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p = [1,2,3], q = [1,2,3] 输出:true 示例 2: 输入:p = [1,2], q = [1,null,2] 输 阅读全文

posted @ 2021-11-20 18:18 进击的davis 阅读(106) 评论(0) 推荐(0)

0236-二叉树的最近公共祖先
摘要:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例 1: 输入:root = [3,5,1,6,2 阅读全文

posted @ 2021-11-20 13:18 进击的davis 阅读(46) 评论(0) 推荐(0)

导航