算法思想
算法要素
(1)解空间:所有可能解组成的空间,解空间越小,搜索效率越高
(2)解空间的组织形式:解空间树
(3)搜索解空间:利用约束函数(用来求可行解)和限界函数(用来求最优解问题)来解空间树“剪枝”。
解题秘籍
(以上来源《趣学算法》)
解题模板
(该方法来自微信公众号:labuladong)
LeetCode例题
#78子集
解空间树:
java代码:
public List<List<Integer>> subsets(int[] nums) {
List<List<Integer>>result=new ArrayList<>();
List<Integer>pastresult=new ArrayList<>();
backtrack(nums,0,result,pastresult);
return result;
}
void backtrack(int[]nums,int start,List<List<Integer>>result,List<Integer