zoukankan      html  css  js  c++  java
  • Java递归实现全排列改进(二)---利用ArrayList实现去重

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;

    public class Test{
     private static String[] s = new String[]{"a","b","a"};
     private static int l = s.length;
     private static List<String> list = new ArrayList<String>();
     public static void main(String[] args) {
      List<String> source = Arrays.asList(s);
      List<String> target = new ArrayList<String>();
      sort(source,target);
     }

     private static void sort(List<String> source, List<String> target) {
      if(target.size() == l){
       if(!list.contains(target.toString())){
        list.add(target.toString());
        for(int i=0;i<target.size();i++){
         System.out.print(target.get(i));
        }
        System.out.println();
       }
      }
      for(int i=0;i<source.size();i++){
       List<String> targetList = new ArrayList<String>(target);
       targetList.add(source.get(i));
       List<String> resourceList = new ArrayList<String>(source);
       resourceList.remove(i);
       sort(resourceList,targetList);
      }
     }
    }

  • 相关阅读:
    mysql03聚合函数
    栈、队列、循环队列、双端队列、优先级队列04
    OOAD之策略模式(1)
    jvm01:java内存区域与内存
    Python+Selenium
    Python+Selenium
    Python+Selenium
    Python+Selenium
    Python+Selenium
    Python+Selenium
  • 原文地址:https://www.cnblogs.com/iamconan/p/7383612.html
Copyright © 2011-2022 走看看