<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 | 愛吃魚頭
    用經典的排列算法,在輸出時判斷一下就可以了。
    不明白為什么要用字符串操作呢。  回復  更多評論
      
    主站蜘蛛池模板: 伊人久久大香线蕉亚洲| 亚洲精品国产情侣av在线| 亚洲视频在线一区二区| 亚洲成A∨人片天堂网无码| 伊人久久亚洲综合影院| 免费真实播放国产乱子伦| 精品无码人妻一区二区免费蜜桃 | 国产一级特黄高清免费大片| 午夜成年女人毛片免费观看| 人碰人碰人成人免费视频| 亚洲啪AV永久无码精品放毛片| 精品无码一区二区三区亚洲桃色| 国产成人高清亚洲| 成人亚洲性情网站WWW在线观看| 中文字幕亚洲第一| 久久精品国产精品亚洲艾草网| 亚洲国产精久久久久久久| 亚洲精品中文字幕无码AV| 77777午夜亚洲| 国产午夜亚洲精品不卡免下载| 二级毛片免费观看全程| 中文字幕无码免费久久| 丁香花在线观看免费观看图片| 精品四虎免费观看国产高清午夜| 8x8×在线永久免费视频| 国产成人免费爽爽爽视频| 国产片免费福利片永久| 日韩电影免费在线观看视频| 在线视频免费观看www动漫| 波多野结衣中文一区二区免费| 国产成人亚洲综合无码| 亚洲黄色片在线观看| 精品亚洲AV无码一区二区| 亚洲国产成人va在线观看网址| 国产人成亚洲第一网站在线播放| 国产亚洲精品2021自在线| 中国好声音第二季免费播放| 免费看h片的网站| 免费一级毛片在线播放| 亚洲成AV人在线观看天堂无码| 亚洲AV综合色区无码二区爱AV|