成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

分析一道經典的Java算法筆試題

開發 后端 算法
本文簡要介紹Java算法面試題,主要是為了幫助大家理清基本的思路,這道題對于作者來說,最大的遺憾是學習數據結構時沒有吃透。

Java算法程序題:

該公司筆試題就1個,要求在10分鐘內作完。

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

Java算法基本思路:

1 把問題歸結為圖結構的遍歷問題。實際上6個數字就是六個結點,把六個結點連接成無向連通圖,對于每一個結點求這個圖形的遍歷路徑,所有結點的遍歷路徑就是***對這6個數字的排列組合結果集。

2 顯然這個結果集還未達到題目的要求。從以下幾個方面考慮:

1. 3,5不能相連:實際要求這個連通圖的結點3,5之間不能連通, 可在構造圖結構時就滿足改條件,然后再遍歷圖。

2. 不能有重復: 考慮到有兩個2,明顯會存在重復結果,可以把結果集放在TreeSet中過濾重復結果

3. 4不能在第三位: 仍舊在結果集中去除滿足此條件的結果。

采用二維數組定義圖結構,***的代碼是:

  1. import java.util.Iterator;  
  2. import java.util.TreeSet;  
  3.  
  4. public class TestQuestion {  
  5.  
  6. private String[] b = new String[]{"1", "2", "2", "3", "4", "5"};  
  7. private int n = b.length;  
  8. private boolean[] visited = new boolean[n];  
  9. visited =falsh;  
  10. private int[][] a = new int[n][n];  
  11. private String result = "";  
  12. private TreeSet TreeSet = new TreeSet();  
  13.  
  14. public static void main(String[] args) {  
  15. new TestQuestion().start();  
  16. }  
  17.  
  18. private void start() {  
  19. for (int i = 0; i < n; i++) {  
  20. for (int j = 0; j < n; j++) {  
  21. if (i == j) {  
  22. a[i][j] = 0;  
  23. } else {  
  24.     a[i][j] = 1;  
  25. }  
  26. }  
  27. }a[3][5] = 0;  
  28. a[5][3] = 0;  
  29. for (int i = 0; i < n; i++) {  
  30.     this.depthFirstSearch(i);  
  31. }  
  32. Iterator it = set.iterator();  
  33. while (it.hasNext()) {  
  34. String string = (String) it.next();  
  35.  
  36. if (string.indexOf("4") != 2) {  
  37. System.out.println(string);  
  38. }  
  39. }  
  40. }  
  41.  
  42. private void depthFirstSearch(int startIndex) {  
  43. visited[startIndex] = true;  
  44. resultresult = result + b[startIndex];  
  45. if (result.length() == n) {  
  46. TreeSet .add(result);  
  47. }  
  48. for(int j = 0; j < n; j++) {  
  49. if (a[startIndex][j] == 1 && visited[j] == false) {  
  50. depthFirstSearch(j);  
  51. } else {  
  52. continue;  
  53. }  
  54. }  
  55.     resultresult = result.substring(0, result.length() -1);  
  56.     visited[startIndex] = false;  
  57. }  
  58. }  
  59.  

注:郁悶,花了半個多小時才能寫出來,還是看的提示!!!無向圖,學數據結構時對他就不是很感冒

【編輯推薦】

  1. Java連接MySQL中文亂碼處理
  2. 在Java應用程序中使用Jfreechart配置
  3. Java虛擬機內部構成淺析
  4. 淺談Java線程的生命周期
  5. 關于Java繼承的一些復習
責任編輯:張燕妮 來源: cnblogs
相關推薦

2009-09-08 17:45:06

CCNA考題

2019-10-21 10:57:56

MySQL算法數據庫

2014-04-29 14:58:24

筆試題微軟筆試題

2009-07-07 16:20:31

JSP試題

2021-03-02 11:29:50

算法算法分析前端

2015-04-22 12:19:42

JAVAJAVA面試題答案解析

2021-05-09 19:42:25

筆試題前端算法

2021-04-30 08:22:36

異步求和函數

2009-08-11 10:12:07

C#算法

2023-04-27 09:08:19

JavaScript隱式類型轉換

2009-08-11 14:59:57

一道面試題C#算法

2020-11-11 09:19:37

前端優化面試

2009-08-11 15:09:44

一道面試題C#算法

2018-03-06 15:30:47

Java面試題

2018-03-02 08:50:54

Linux面試題offer技巧

2023-02-04 18:24:10

SeataJava業務

2020-07-14 16:08:33

數據分析Python筆試

2024-10-11 17:09:27

2019-08-13 08:43:07

JavaScript前端面試題

2009-06-15 17:18:25

Java筆試題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 逼逼视频 | 亚洲色图在线观看 | a a毛片| 日韩不卡在线观看 | 91精品国产综合久久久久久漫画 | 久久久国产一区二区三区 | 久久精品在线免费视频 | 91久久精品日日躁夜夜躁欧美 | 韩日精品一区 | 欧美日韩综合 | 日韩国产一区二区三区 | 国产 日韩 欧美 在线 | 午夜精品久久久久久久久久久久 | 精品免费国产视频 | 精品免费视频 | 中文字幕精品一区久久久久 | 亚洲精品久久久久中文字幕二区 | 天天弄天天操 | h免费观看 | 中文字幕中文字幕 | 91免费版在线| 在线国产一区二区 | 人妖av| 国产免费视频 | 日韩久久中文字幕 | 福利精品在线观看 | 色妹子综合网 | 中文字幕亚洲区一区二 | 91免费观看视频 | h片在线看 | 99视频在线看 | 日本精品久久久久 | 国产午夜精品久久 | 午夜大片| 国产十日韩十欧美 | 一级黄色影片在线观看 | jlzzjlzz国产精品久久 | 国产极品车模吞精高潮呻吟 | 性一区 | 午夜精品久久久久久久久久久久 | 欧美区日韩区 |