<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 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

    主站蜘蛛池模板: 亚洲国产婷婷综合在线精品| 麻豆国产在线精品国偷产拍| 中文字幕乱码中文乱码51精品| 66精品综合久久久久久久| 亚洲av午夜国产精品无码中文字| 青青草原综合久久大伊人精品| 一本久久精品一区二区| 99热精品久久只有精品| 国产精品兄妹在线观看麻豆| 日本免费精品一区二区三区| 国产精品白丝AV嫩草影院| 成人区人妻精品一区二区不卡网站 | 国产欧美日韩精品丝袜高跟鞋| 久久久久无码精品| 成人精品一区二区三区免费看 | 国产福利精品视频自拍| 国产精品宾馆在线精品酒店| 国产精品熟女高潮视频| 欧美精品黑人粗大免费| 综合久久精品色| 亚洲精品动漫免费二区| 西瓜精品国产自在现线| 日本免费精品一区二区三区| 久久久久久极精品久久久| 国产精品无码素人福利不卡| 亚洲色图国产精品| 精品视频一区二区三区免费| 国产成人精品精品欧美| 3D动漫精品一区二区三区| 久久国产欧美日韩精品| 欧洲精品99毛片免费高清观看| 亚洲日韩精品无码专区网址| 亚洲色精品aⅴ一区区三区| 亚洲精品一级无码中文字幕| 亚洲国产精品成人网址天堂| 欧美日韩精品一区二区视频 | 国产在线精品一区二区高清不卡 | 久久国产欧美日韩精品| 国内精品久久久久久久97牛牛| 国产美女精品一区二区三区| 国产精品禁18久久久夂久|