回溯算法
回溯算法
qxlxi
21届本,后端工程师 (专注于Java、Go、数据库、缓存、消息队列、网络、OS、算法、软件设计、DevOps、云原生、大数据、分布式系统架构设计等)
展开
-
【每日一题-leetcode】93. 复原IP地址
93. 复原IP地址复原IP地址难度中等365给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.'分隔。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]1.暴力解//25525511135->255.255.111.35 255.255.11.135 public List<St原创 2020-08-09 18:38:17 · 358 阅读 · 0 评论 -
【每日一题-leetcode】79.单词搜索
79.单词搜索单词搜索难度中等502给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[['A','B','C','E'],['S','F','C','S'],['A','D','E','E']]给定 word = "ABCCED", 返回 true给定 word = "SEE", 返回 true给定 wo原创 2020-08-04 13:04:56 · 350 阅读 · 0 评论 -
【每日一题-leetcode】39. 组合总和
39. 组合总和组合总和难度中等763给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]] // 剪枝+回溯原创 2020-07-19 08:51:10 · 316 阅读 · 0 评论 -
【剑指offer】13.机器人的运动范围
13.机器人的运动范围面试题13. 机器人的运动范围难度中等96地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0,0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格[35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例 1:输入:m = 2,原创 2020-05-25 19:30:42 · 324 阅读 · 0 评论 -
【剑指offer】38.字符串的排列
38.字符串的排列面试题38. 字符串的排列难度中等38输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]回溯//dfs time :O(N!) space : O(N^2) List<St...转载 2020-05-04 20:46:01 · 239 阅读 · 0 评论 -
【每日一题-leetcode】51.N皇后
51.N皇后N皇后难度困难390n *皇后问题研究的是如何将 *n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 *n *皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q.."...原创 2020-05-03 17:07:09 · 318 阅读 · 0 评论 -
【每日一题-leetcode】17.电话号码的字母组合
17.电话号码的字母组合电话号码的字母组合难度中等688给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].回溯ArrayList<String&...原创 2020-05-02 15:35:34 · 379 阅读 · 0 评论 -
【每日一题-leetcode】78.子集
78.子集子集难度中等549给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]回溯public List<List<In...原创 2020-04-30 18:05:19 · 380 阅读 · 0 评论 -
【每日一题-leetcode】 47.全排列 II
47.全排列 II全排列 II难度中等281给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]此问题和46是相同的思路,使用回溯法 在查找所有解的时候 使用剪枝 取出掉不符合的条件。代码的实现主要是通过一个boolean数组来判断。如果访问过 continue ...原创 2020-04-28 13:00:51 · 362 阅读 · 0 评论 -
【每日一题-leetcode】46.全排列
46.全排列全排列难度中等680给定一个** 没有重复** 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]回溯算法: 回溯算法框架 for 选择 in 选择列表: # 做选择 ...原创 2020-04-28 10:27:35 · 445 阅读 · 0 评论 -
【每日一题-leetcode】 77.组合
77.组合组合难度中等256给定两个整数 n 和 k,返回 1 … n *中所有可能的 *k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]回溯法public static List<List<Integer>> combin...原创 2020-04-27 16:24:45 · 319 阅读 · 0 评论 -
【剑指offer】34.二叉树中和为某一值的路径
34.二叉树中和为某一值的路径面试题34. 二叉树中和为某一值的路径难度中等27输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...原创 2020-04-22 21:55:15 · 327 阅读 · 0 评论