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

        
    /**
         * 構造字符串的所有排序組合
         * 
         * 
    @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 閱讀(4211) 評論(2)  編輯  收藏 所屬分類: JAVA

    FeedBack:
    # re: 1、2、2、3、4、5這六個數字,用java寫一個main函數,打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"與"5"不能相連.
    2009-06-12 17:14 | Ken Wu
    god...  回復  更多評論
      
    # re: 1、2、2、3、4、5這六個數字,用java寫一個main函數,打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"與"5"不能相連.
    2009-06-14 19:01 | 愛吃魚頭
    用經典的排列算法,在輸出時判斷一下就可以了。
    不明白為什么要用字符串操作呢。  回復  更多評論
      
    主站蜘蛛池模板: 日韩精品视频免费观看| 中文字幕一区二区三区免费视频| 亚洲国产片在线观看| 亚洲毛片在线免费观看| 亚洲精品免费在线| 亚洲人成在线免费观看| 亚洲国产成人91精品| 在线aⅴ亚洲中文字幕| 亚洲成av人片天堂网无码】| 亚洲AV无码专区在线厂| 色噜噜狠狠色综合免费视频| 一本久久免费视频| 四虎国产精品免费永久在线| 久久成人a毛片免费观看网站| 国产成人精品无码免费看 | 久久亚洲日韩看片无码| 亚洲美女一区二区三区| 麻豆狠色伊人亚洲综合网站| 亚洲性无码AV中文字幕| 色屁屁www影院免费观看视频| 亚洲五月午夜免费在线视频| 在线观看肉片AV网站免费| 亚洲电影免费在线观看| 999久久久免费精品国产| 在线观看永久免费视频网站| 亚洲国产精品无码久久九九| 亚洲精品国产成人片| 亚洲精品欧洲精品| 亚洲国产欧美国产综合一区| 日韩大片免费观看视频播放| 久久精品视频免费| 在线v片免费观看视频| 免费a级毛片无码a∨性按摩| 亚洲精品国产成人片| 国产精品亚洲精品青青青| 最好2018中文免费视频| 久久国产免费一区| 成人毛片免费网站| 亚洲性猛交XXXX| 亚洲乱码在线播放| 一级做a爰全过程免费视频毛片|