演算法題(十四) 阿里19年校招題 最短路徑問題

2021-08-27 18:15:20 字數 1059 閱讀 6504

問題:*光明小學的小朋友們要舉行一年一度的接力跑大賽了,但是小朋友們卻遇到了乙個難題:設計接力跑大賽的線路,你能幫助他們完成這項工作麼?

*光明小學可以抽象成一張有n個節點的圖,每兩點間都有一條道路相連。光明小學的每個班都有m個學生,所以你要為他們設計出一條恰好經過m條邊的路徑。

*光明小學的小朋友們希望全盤考慮所有的因素,所以你需要把任意兩點間經過m條邊的最短路徑的距離輸出出來以供參考。

**你需要設計這樣乙個函式:

*res solve( n, m, map);

*注意:map必然是n * n的二維陣列,且map[i][j] == map[j][i],map[i][i] == 0,-1e8 <= map[i][j] <= 1e8。

*(道路全部是無向邊,無自環)2 <= n <= 100, 2 <= m <= 1e6。

**map陣列表示了一張稠密圖,其中任意兩個不同節點i,j間都有一條邊,邊的長度為map[i][j]。n表示其中的節點數。

*你要返回的陣列也必然是乙個n * n的二維陣列,表示從i出發走到j,經過m條邊的最短路徑

*你的路徑中應考慮包含重複邊的情況。

輸入輸出樣例:

輸入樣例:32

3 30 2 3

2 0 1

3 1 0

輸出樣例:

[[4, 4, 3],

[4, 2, 5],

[3, 5, 2]]

樣例解釋:

//人的個數(圖變為樹的嘗試)

int m = 2;

//結點數

int n = 3;

//暫時儲存路徑用

int path = new int[n+1];

path[0] = n;

int res = new int[3][3];//用於儲存結果

for(int i=0; i輸出:

2023年校招題

牛牛有乙個魚缸。魚缸裡面已經有n條魚,每條魚的大小為fishsize i 1 i n,均為正整數 牛牛現在想把新捕捉的魚放入魚缸。魚缸內存在著大魚吃小魚的定律。經過觀察,牛牛發現一條魚a的大小為另外一條魚b大小的2倍到10倍 包括2倍大小和10倍大小 魚a會吃掉魚b。考慮到這個,牛牛要放入的魚就需要...

2016 阿里校招研發演算法題 9 9

題目大意 輸入乙個字串流,裡面有數字和非數字,非數字將數字隔開了,要找出,出現次數最多的數字。思路 先將所有非數字用統一字元替換,然後找出數字,需要判斷下乙個字元是不是數字,然後將數字存到hashmap裡面,出現存在過的數字,hashmap的value 1 最後輸出value值最大的數字。1 inc...

2019阿里校招測評題 程式設計

明小學的小朋友們要舉行一年一度的接力跑大賽了,但是小朋友們卻遇到了乙個難題 設計接力跑大賽的線路,你能幫助他們完成這項工作麼?光明小學可以抽象成一張有n個節點的圖,每兩點間都有一條道路相連。光明小學的每個班都有m個學生,所以你要為他們設計出一條恰好經過m條邊的路徑。光明小學的小朋友們希望全盤考慮所有...