<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    package com.test;

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

    /**
     * 1、2、2、3、4、5這六個(gè)數(shù)字,用java寫一個(gè)main函數(shù),打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"與"5"不能相連.
     * 
     * 
    @author SIMONE wangxinsh55@126.com 2009-6-12
     
    */
    public class GroupTest {
        
    public static List<String> list = new ArrayList<String>();

        
    /**
         * 構(gòu)造字符串的所有排序組合
         * 
         * 
    @param str 將要組合成的字符
         * 
    @param nstr 源字符串集
         
    */
        
    public static void group(String str, String nstr) {
            
    if (str.length() != nstr.length()) {
                String rest 
    = getRest(str, nstr);
                
    for (int i = 0; i < rest.length(); i++) {
                    String temp 
    = str + rest.substring(i, i + 1);
                    
    if (temp.indexOf("4"!= 2 && temp.indexOf("35"== -1 && temp.indexOf("53"== -1) {// 過濾顯示條件,如果去掉此處的判斷,就是列出所有字符集的排列組合
                        System.out.println(temp);
                        
    if (!list.contains(temp)) {
                            list.add(temp);
                        }
                        group(temp, nstr);
                    }
                }
            }
        }

        
    /**
         * 從源字符串集中去除將要組合成的字符
         * 
         * 
    @param str 將要組合成的字符
         * 
    @param nstr 源字符串集
         * 
    @return 剩余字符串集
         
    */
        
    public static String getRest(String str, String nstr) {
            String rest 
    = "";
            
    if (nstr.length() > str.length()) {
                rest 
    = nstr;
                
    for (int i = 0; i < str.length(); i++) {
                    rest 
    = rest.replaceFirst(str.substring(i, i + 1), "");// 注意此處的replaceFirst,而不是replaceAll
                }
            }
            
    return rest;
        }

        
    public static void main(String[] args) {
            group(
    """122345");
            System.out.println(list.toString());
        }
    }
    posted on 2009-06-12 15:54 SIMONE 閱讀(4217) 評(píng)論(2)  編輯  收藏 所屬分類: JAVA

    FeedBack:
    # re: 1、2、2、3、4、5這六個(gè)數(shù)字,用java寫一個(gè)main函數(shù),打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"與"5"不能相連.
    2009-06-12 17:14 | Ken Wu
    # re: 1、2、2、3、4、5這六個(gè)數(shù)字,用java寫一個(gè)main函數(shù),打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"與"5"不能相連.
    2009-06-14 19:01 | 愛吃魚頭
    用經(jīng)典的排列算法,在輸出時(shí)判斷一下就可以了。
    不明白為什么要用字符串操作呢。  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 免费看又黄又爽又猛的视频软件| 国产亚洲精品久久久久秋霞| 免费观看国产网址你懂的| 在线观看免费中文视频| 亚洲精品视频在线观看免费| 99精品视频在线免费观看| 在线成人爽a毛片免费软件| 222www免费视频| 九九精品免费视频| 亚洲中文无码永久免费| 在线观看免费大黄网站| 美女黄网站人色视频免费国产| 大学生高清一级毛片免费| 国产高清视频在线免费观看| 国产免费久久精品| 亚洲av无码兔费综合| 亚洲成av人片天堂网无码】| 久久亚洲精品无码VA大香大香| 久久亚洲精品成人AV| 亚洲精品国产福利在线观看| 亚洲一区二区三区久久| 亚洲精品第一国产综合亚AV| 美女被暴羞羞免费视频| 91福利免费网站在线观看| 日韩人妻无码精品久久免费一 | 老司机亚洲精品影院| 亚洲视频在线一区二区三区| 亚洲男人天堂2022| 亚洲国产高清美女在线观看| 国产亚洲精品美女久久久| 久久水蜜桃亚洲av无码精品麻豆| 亚洲视频在线免费看| 久久人午夜亚洲精品无码区| 一级特黄色毛片免费看| 无码成A毛片免费| 成人激情免费视频| 亚洲人成网站在线观看青青| 亚洲AV第一页国产精品| 2020天堂在线亚洲精品专区| 免费一级毛片在线播放视频免费观看永久 | 亚洲午夜久久影院|