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);
        }
    }
    
  • 相关阅读:
    怎么查看京东店铺的品牌ID
    PPT编辑的时候很卡,放映的时候不卡,咋回事?
    codevs 1702素数判定2
    codevs 2530大质数
    codevs 1488GangGang的烦恼
    codevs 2851 菜菜买气球
    hdu 5653 Bomber Man wants to bomb an Array
    poj 3661 Running
    poj 1651 Multiplication Puzzle
    hdu 2476 String Painter
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077869.html
Copyright © 2011-2022 走看看