什么样的人会买condo?# Living
l*n
1 楼
leetcode subset 我用eclipse调试
import java.util.*;
public class subSets {
public static HashSet> subsets(int[] s){
HashSet> result = new HashSet
>();
if(s.length == 0|| s== null) return null;
//Arrays.sort(s);
ArrayList list = new ArrayList();
recursion(result,list,s,0);
return result;
}
public static void recursion(HashSet> result,
ArrayList list,int[] s, int level ){
System.out.println(result);
if(result.contains(list)){
return;
}
else{
result.add(list);
for(int i = level ;i< s.length ;i++ ){
ArrayList temp = new ArrayList();
temp.addAll(list);
temp.add(s[i]);
recursion(result,temp,s,i+1);
}
}
}
public static void main(String[] args){
int[] s = {1,2,3};
System.out.println(subsets(s));
}
最后得到的结果
[[3], [1, 2, 3], [], [1], [2], [2, 3], [1, 3], [1, 2]]
怎么是这个顺序?
中间运行结果也不明白 为什么最后输出result顺序会变
小弟不才,大牛见笑了
import java.util.*;
public class subSets {
public static HashSet
HashSet
>();
if(s.length == 0|| s== null) return null;
//Arrays.sort(s);
ArrayList
recursion(result,list,s,0);
return result;
}
public static void recursion(HashSet
ArrayList
System.out.println(result);
if(result.contains(list)){
return;
}
else{
result.add(list);
for(int i = level ;i< s.length ;i++ ){
ArrayList
temp.addAll(list);
temp.add(s[i]);
recursion(result,temp,s,i+1);
}
}
}
public static void main(String[] args){
int[] s = {1,2,3};
System.out.println(subsets(s));
}
最后得到的结果
[[3], [1, 2, 3], [], [1], [2], [2, 3], [1, 3], [1, 2]]
怎么是这个顺序?
中间运行结果也不明白 为什么最后输出result顺序会变
小弟不才,大牛见笑了