<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码在线| 国产成人精品123区免费视频| 亚洲色大成网站www久久九| 成人免费网站在线观看| 亚洲第一街区偷拍街拍| 免费人成视频在线观看不卡| 久久精品免费大片国产大片| 久久精品国产精品亚洲蜜月| 99久久久国产精品免费牛牛 | 成年人视频免费在线观看| 亚洲精品福利你懂| 在线永久免费观看黄网站| 美女被免费网站视频在线| 亚洲国产综合精品中文字幕| 久久国产精品国产自线拍免费| 99久久精品国产亚洲| 无码免费午夜福利片在线 | 91免费资源网站入口| 欧洲亚洲综合一区二区三区| 国产成人亚洲精品影院 | 热久久精品免费视频| 五月天婷婷免费视频| 亚洲人成电影在在线观看网色| 成人超污免费网站在线看| 特级aaaaaaaaa毛片免费视频| 亚洲av无码成h人动漫无遮挡 | 亚洲av无码国产精品色在线看不卡| 手机看片国产免费永久| 精品亚洲456在线播放| 久久久久国产成人精品亚洲午夜 | 国产乱子伦精品免费女| 日韩在线不卡免费视频一区| 亚洲午夜精品一区二区麻豆| 国产亚洲免费的视频看|