摘要: ☆☆☆思路:与排列问题不同,组合问题只需要从当前位置往后搜索。而排列问题每次都需要从头寻找,需要用vis数组记录访问过的元素。 class Solution { public List<List<Integer>> combine(int n, int k) { List<List<Integer> 阅读全文
posted @ 2020-12-27 22:01 不学无墅_NKer 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 思路1:回溯搜索全排列,使用Set暴力去重。 ☆☆☆思路2:回溯搜索 + 剪枝。 对原数组排序,保证相同的数字都相邻,然后每次填入的数一定是这个数所在重复数集合中「从左往右第一个未被填过的数字」 代码1:回溯搜索 + Set去重 代码1.1 ——交换位置确定数字(耗时:30ms) class Sol 阅读全文
posted @ 2020-12-27 20:59 不学无墅_NKer 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 【举一反三】: 剑指27.字符串的排列 ☆☆回溯算法入门级经典题目,理论讲解及分类习题:回溯算法入门级详解 + 练习(持续更新) 思路1:标记数组 思路2:交换位置。相比思路1,空间复杂度低。 class Solution { public List<List<Integer>> permute(i 阅读全文
posted @ 2020-12-27 11:16 不学无墅_NKer 阅读(64) 评论(0) 推荐(0) 编辑