中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      java算法字符組合排序

      時間:2024-07-02 14:50:54 JAVA認證 我要投稿
      • 相關推薦

      java算法字符組合排序

        為幫助同學們學好java算法,yjbys小編為大家分享最新java算法——字符組合排序試題和答案如下:

        題目:

        用1、2、2、3、4、5這六個數字,用java寫一個main函數,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"與"5"不能相連。

        不是特別難的題目,暴力算和用圖論算(深度遍歷)都可以,結果是198.圖論的話就是構造無向圖,然后深度優先遞歸。

        package com.graphic;

        import java.util.Iterator;

        import java.util.TreeSet;

        public class CharSequence {

        private String[] c = {"1","2","2","3","4","5"};

        private int n = c.length;

        private boolean[] visited = new boolean[n];

        private int[][] g = new int[n][n];

        private TreeSetts = new TreeSet();

        private String result = "";

        public CharSequence(){

        for(int i=0; i

        for(int j=0; j

        if(i == j) g[i][j] = 0;

        else g[i][j] = 1;

        }

        }

        g[3][5] = 0;

        g[5][3] = 0;

        }

        public void depthFirst(int index){

        visited[index] = true;

        result += c[index];

        if(result.length() == n){

        ts.add(result);

        result = result.substring(0,result.length()-1);

        visited[index] = false;

        }

        else{

        for(int i=0; i

        if(!visited[i] && g[index][i] == 1){

        depthFirst(i);

        }else continue;

        }

        result = result.substring(0,result.length()-1);

        visited[index] = false;

        }

        }

        public void graphicGet(){

        for(int i=0; i

        depthFirst(i);

        }

        int count = 0;

        System.out.print("圖論的結果:");

        Iteratorit = ts.iterator();

        while(it.hasNext()){

        String tmp = it.next();

        if(tmp.contains("35")) continue;

        if(tmp.contains("53")) continue;

        if(tmp.charAt(3) == '4') continue;

        System.out.println(tmp);

        count++;

        }

        System.out.println("共計:"+count+"個");

        }

        public void bruteForce(){

        System.out.println("暴力搜的結果:");

        int count = 0;

        for(int i = 122345; i<543222; i++){

        String tmp = ""+i;

        if(tmp.charAt(3) == '4') continue;

        if(tmp.contains("35")) continue;

        if(tmp.contains("53")) continue;

        if(tmp.contains("5") && tmp.contains("4") && tmp.contains("3") && tmp.contains("1"))

        {

        int index = tmp.indexOf("2");

        if(index == -1) continue;

        if(index == tmp.length()-1) continue;

        if(tmp.substring(index+1).contains("2")){

        System.out.println(tmp);

        count++;

        }

        }

        }

        System.out.print("共計:"+count+"個");

        }

        public void recrusive(){

        }

        public static void main(String[] args) {

        CharSequence cs = new CharSequence();

        //圖論的方法

        cs.graphicGet();

        //暴力搜索

        cs.bruteForce();

        }

        }

      【java算法字符組合排序】相關文章:

      java五種排序算法匯總07-18

      關于Java的字符轉換08-28

      常見的php排序算法07-24

      PHP中strnatcmp()函數“自然排序算法”進行字符串比較用法分析06-06

      關于Java入門的字符型數據10-28

      關于JAVA字符串的拼接與性能06-07

      關于Java通用權限控制的算法06-07

      Java認證基礎知識:java字符串轉化整型問題07-21

      Java編程中如何實現中文排序08-13

      四種簡單的排序算法的php實現10-18

      主站蜘蛛池模板: 长治县| 狠狠狠狠狠综合视频| 美女一区二区三区在线观看视频| 自拍视频国产在线观看| 金湖县| 绥德县| 国产做床爱无遮挡免费视频| 久久国产亚洲中文字幕| 亚洲欧美日韩中文综合在线不卡| 99久久免费精品色老| 三门峡市| 免费视频这里是精品视频| 尤物蜜芽福利国产污在线观看| 国产精品国产午夜免费福利看| 国产精品18久久久久久首页| 亚洲色图视频一区中文字幕 | 日韩偷拍视频一区二区三区| 亚洲精品乱码久久久久99| 天峻县| 久久99国产亚洲高清观看首页| 亚洲国产高清美女在线观看| 亚洲av影片一区二区三区| 亚洲 国产 韩国 欧美 在线| 大肥婆老熟女一区二区精品| 激情人妻网址| 18禁黄无遮挡免费网站| а的天堂网最新版在线 | 久久精品国产亚洲av高清四虎| 久久青青草视频免费观看| av无码电影一区二区三区| 广德县| 兴和县| 国产精品亚洲综合色区韩国| 亚洲AV无码成人精品区H| 国产精品国三级国产av| www.久久av.com| 国产精品亚洲综合色区韩国| 国产爽片一区二区三区| 国产在线观看不卡网址| 欧美激情国产亚州一区二区| 亚洲加勒比无码一区二区在线播放|