回溯
烟白
这个作者很懒,什么都没留下…
展开
-
78、★★双层嵌套-两层for循环的回溯-LeetCode-37.解数独
题目描述:编写一个程序,通过填充空格来解决数独问题。数独的解法需 遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用'.'表示。来源:力扣(LeetCode)思路:1)代码随想录:时间复杂度高学到的内容:字符的遍历循环:第一次用到!for(char k = '1';k <= '9';k++)这个想法,确实...原创 2022-04-16 19:55:47 · 542 阅读 · 0 评论 -
77、★回溯-N皇后问题-困难题-LeetCode.51N 皇后
题目描述:n皇后问题 研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的n皇后问题 的解决方案。每一种解法包含一个不同的n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。来源:力扣(LeetCode)思路:1)首先需要一个 判断位置是否合法的方法!①不仅要判断相邻位置,还要判断之前的所有位置;需要一个记录之前每层摆放位置的List;②近似看作两个位置不能组成一个正方形,...原创 2022-04-16 17:48:25 · 264 阅读 · 0 评论 -
75、★回溯-多个处理内容-LeetCode-47.全排列Ⅱ
题目描述:给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。示例:输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]思路:1)常规的回溯;2)类似于全排列Ⅰ:需要将不同层之间的内容进行回溯记录,防止不同层重复取到!3)同层之间的去重!用到了升序子序列中的去重方式,使用数组!因为题中给出了数组数值范围,可以使用数组来模拟哈希;分别进行同一层和不同的判断!答案中的难理解!boolean[] i...原创 2022-04-15 14:42:38 · 372 阅读 · 0 评论