字符串的所有组合(非空子集)
2017-11-26 20:56
204 查看
package 字符串;
//字符串的所有组合(非空子集)
import java.util.ArrayList;
public class AllCombination {
public static void main(String[] args) {
char []s={'a','b','c','d'};
ArrayList<Character> arr=new ArrayList();
for(int i=1;i<=s.length;i++){//长度从1到lenth
combine(s,i,0,arr);
}
}
public static void combine(char[]s,int k,int start,ArrayList<Character> arr){
if(k==0){
System.out.println(arr.toString());
return;
}
if(start==s.length){
return;
}
arr.add(s[start]);
//要s[start]
combine(s,k-1,start+1,arr);
arr.remove((Character)s[start]);//不要s[start]
combine(s,k,start+1,arr);
}
}
//字符串的所有组合(非空子集)
import java.util.ArrayList;
public class AllCombination {
public static void main(String[] args) {
char []s={'a','b','c','d'};
ArrayList<Character> arr=new ArrayList();
for(int i=1;i<=s.length;i++){//长度从1到lenth
combine(s,i,0,arr);
}
}
public static void combine(char[]s,int k,int start,ArrayList<Character> arr){
if(k==0){
System.out.println(arr.toString());
return;
}
if(start==s.length){
return;
}
arr.add(s[start]);
//要s[start]
combine(s,k-1,start+1,arr);
arr.remove((Character)s[start]);//不要s[start]
combine(s,k,start+1,arr);
}
}
相关文章推荐
- 输出一个字符串数组所有非空子集
- 字符串的所有组合
- 经典算法——字符串的所有组合
- 字符串的所有组合
- 列出字符串所有组合
- 求字符串的所有子集
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
- 字符串的所有不重复组合
- Java练习题-输入一个字符串,输出该字符串中字符的所有组合
- 9.5---所有字符串的排列组合(CC150)
- 【一些题】打印字符串的所有组合
- Java练习题-输入一个字符串,输出该字符串中字符的所有组合(二)
- 确定某字符串的所有排列组合
- 递归问题之一:给定一字符串,输出字符串中所有字符子串的各种组合形式,长度为一个字符到字符串的长度,忽略排序
- 打印出一个字符串的所有组合的递归方式
- 黑马程序员-.NET-C#查找字符串的所有排列组合
- 求字符串的所有组合
- 字符串的所有组合
- 【每日面试题】输入一字符串,输出该字符串的所有组合
- 求一串字符串的全排列和所有组合