筆試_0001(數組A內無重複,如A=[a,b,c])

 

 

public static void main(String[] args) {
//        question1();
//        question2();

        System.out.println(~1 + 1);
    }

    private static void question1() {
        /*
          思路,規律:
          利用字符串的包含和替換。
         */
        char[] arr = {'a','b','c','c'};
        String s = new String(arr);
        while(s.length() > 0){
            char b = getRandomChar();
            System.out.println(s + "------" +b);
            String bStr = String.valueOf(b);
            if(s.contains(bStr)){
                s = s.replaceFirst(bStr,"");
            }
        }
        System.out.println(s);
    }

    private static char getRandomChar() {
        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        int number = random.nextInt(str.length());
        return str.charAt(number);
    }

    private static void question2() {
        /*
        思路,規律:(也是利用字符串的包含和替換。)
        如果連續且包含,則繼續並將字符串該字符替換爲空。否則重置。
        直到找到結束,或遍歷一遍沒找到結束。
         */
        char[] arr = {'a','b','c','c'};
        String s = new String(arr);
        String temp = s;
        String target = "1cacb23abcc456";
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<target.length();i++){
            String c = String.valueOf(target.charAt(i));
            if(s.contains(c)){
                sb.append(c);
                s = s.replaceFirst(c,"");
                if(s.length() == 0){
                    break;
                }
            }else{
                sb = new StringBuilder();
                s = temp;
            }
        }
        System.out.println(sb.toString());
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章