随笔分类 -  回溯法

摘要:题目: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 阅读全文
posted @ 2021-05-16 19:48 堤苏白 阅读(84) 评论(0) 推荐(0) 编辑
摘要:题目: 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 思路: 题目求所有解集,典型的回溯法题目,注意剪枝函数是size+1< 阅读全文
posted @ 2021-05-16 19:00 堤苏白 阅读(52) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 进阶: 一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。 你能 阅读全文
posted @ 2021-04-27 20:53 堤苏白 阅读(60) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = 阅读全文
posted @ 2021-04-14 13:07 堤苏白 阅读(50) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。 示例 1: 输入: 12258 输出: 5 解释: 1225 阅读全文
posted @ 2021-04-08 16:27 堤苏白 阅读(44) 评论(0) 推荐(0) 编辑
摘要:题目: 第一行输入N, 0<N<=100000 第一行输入N,0<N<=100000接下来是N行代表每个小朋友希望和谁分到一组,如"John Jack", 代表 接下来是N行代表每个小朋友希望和谁分到一组,如“John Jack”,代表John希望和Jack分到-组,两个名字之间以空格分割,名字本身 阅读全文
posted @ 2021-04-07 22:58 堤苏白 阅读(191) 评论(0) 推荐(0) 编辑
摘要:题目: 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"] 限制: 1 <= s 的长度 <= 8 代码: 1.list存放每 阅读全文
posted @ 2021-04-06 19:16 堤苏白 阅读(43) 评论(0) 推荐(0) 编辑
摘要:题目: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加 阅读全文
posted @ 2021-03-25 20:04 堤苏白 阅读(29) 评论(0) 推荐(0) 编辑
摘要:题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, n = 7 输出:28 示例 2: 阅读全文
posted @ 2020-12-26 19:57 堤苏白 阅读(93) 评论(0) 推荐(0) 编辑
摘要:题目: 给出集合 [1,2,3,...,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: "123" "132" "213" "231" "312" "321" 给定 n 和 k,返回第 k 个排列。 示例 1: 输入:n = 3, 阅读全文
posted @ 2020-12-25 19:28 堤苏白 阅读(108) 评论(0) 推荐(0) 编辑
摘要:题目:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n,返回 n 皇后不同的解决方案的数量。 示例: 输入: 4 输出: 2 解释: 4 皇后问题存在如下两个不同的解法。 [ [".Q..", // 阅读全文
posted @ 2020-12-21 11:00 堤苏白 阅读(45) 评论(0) 推荐(0) 编辑
摘要:题目:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空 阅读全文
posted @ 2020-12-20 20:18 堤苏白 阅读(84) 评论(0) 推荐(0) 编辑
摘要:题目:给定一个可包含重复数字的序列 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] 阅读全文
posted @ 2020-12-17 12:12 堤苏白 阅读(106) 评论(0) 推荐(0) 编辑
摘要:题目:给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 代码: class Solution { public List<List<Int 阅读全文
posted @ 2020-12-17 12:06 堤苏白 阅读(84) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示