import java.util.*; public class Zixulie { public static Set<List> set=new HashSet<List>();//用于保存穷举的结果 public static List temp=new ArrayList<>(); public static void main(String args[]){ System.out.println("hello"); Scanner in=new Scanner(System.in); while(in.hasNext()){ String str=in.nextLine(); char ch[]=str.toCharArray(); dfs(0,ch); System.out.println(set.size()); //打印结果 for(List list:set){ System.out.println(list); } } } public static void dfs(int pos,char ch[]){ if(pos>=ch.length) return; //pos位置的元素未加进来 set.add(new ArrayList<>(temp)); dfs(pos+1,ch); //pos位置的元素加进来 temp.add(ch[pos]); set.add(new ArrayList<>(temp)); dfs(pos+1,ch); temp.remove(temp.size()-1); } }
穷举一个字符串的子序列
最新推荐文章于 2022-03-29 22:32:22 发布