zoukankan      html  css  js  c++  java
  • Java实现 串中取3个不重复字母

    从标准输入读入一个由字母构成的串(不大于30个字符)。

    从该串中取出3个不重复的字符,求所有的取法。

    取出的字符,要求按字母升序排列成一个串。

    不同的取法输出顺序可以不考虑。

    例如:
    输入:
    abc
    则输出:
    abc

    输入:
    abcd
    则输出:
    abc
    abd
    acd
    bcd

    输入:
    abcaa
    则输出:
    abc

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Scanner;
    
    public class Main {
        public static ArrayList<Character> list = new ArrayList<Character>();
        public static ArrayList<String> set = new ArrayList<String>();
        
        public void dfs(int step, int now, int[] B) {
            if(step == 3) {
                StringBuffer s = new StringBuffer("");
                s.append(list.get(B[0]));
                s.append(list.get(B[1]));
                s.append(list.get(B[2]));
                if(!set.contains(s.toString()))
                    set.add(s.toString());
                return;
            } else {
                for(int i = now + 1;i < list.size();i++) {
                    B[step] = i;
                    dfs(step + 1, i, B);
                }
            }
        }
        
        public void getResult(String A) {
            char[] arrayA = A.toCharArray();
            for(int i = 0;i < arrayA.length;i++)
                if(!list.contains(arrayA[i]))
                    list.add(arrayA[i]);
            Collections.sort(list);
            int[] B = new int[3];
            dfs(0, -1, B);
            for(int i = 0;i < set.size();i++)
                System.out.println(set.get(i));
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            Scanner in = new Scanner(System.in);
            String A = in.nextLine();
            test.getResult(A);
        }
    }
    
  • 相关阅读:
    期权波动率模型及交易策略分析
    k阶原点距和k阶中心距各是说明什么数字特征
    在Linux中监视IO性能
    NUMA微架构
    Web网站的几个QPS
    Elasticsearch与Solr 选型
    相关连接(后续更新)
    linux_基本命令使用(后续更新)
    centos7.5安装kafka(支持外部连接)
    centos7.5单机安装安装zookeeper
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077660.html
Copyright © 2011-2022 走看看