阿里巴巴2019線上筆試(之一)

2021-08-23 12:34:30 字數 2177 閱讀 3586

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

光明小學可以抽象成一張有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條邊的最短路徑

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

樣例:n = 3

m = 2

map = ,,}

輸出結果result為:

result = ,,}

輸入樣例:32

3 3 

0 2 3

2 0 1

3 1 0

輸出樣例:

[[4, 4, 3],

[4, 2, 5],

[3, 5, 2]]

這是我在c下面用dfs寫的**,沒用用剪枝,是乙個非常暴力的dfs,看到網上有乙個python的答案是錯的,所以自己寫了乙個,但是考的時候時間太短了沒寫完,是下來寫的。

這個測評對面試、筆試沒有任何影響,沒寫出來也沒關係,但是大家還是不要直接複製黏貼我的,萬一別人做個查重,你們所有人都複製黏貼我的會被發現的。

主要就是我不寫出來不開心,所以自己下來寫了。。。。。。。。。

#include #include #include #include #include #include #include /*

輸入樣例:32

3 3

0 2 3

2 0 1

3 1 0

輸出樣例:

[[4, 4, 3],

[4, 2, 5],

[3, 5, 2]]

*//** 請完成下面這個函式,實現題目要求的功能 **/

/** 當然,你也可以不按照這個模板來作答,完全按照自己的想法來 ^-^ **/

#define maxval 100000

void dfs(const long n, const long m, const int target, long *maxdis, long** map, int step, int thispoint, int nowdis)

} return; }

for (int nextpoint = 0; nextpoint < n; nextpoint++) }

} long** solve(long n, long m, int map_size_row, int map_size_cols, long** map, int* result_size_rows, int* result_size_cols)

for (int j = 0; j < map_size_cols; j ++)

for (int i = j; i < map_size_row; i++)

*result_size_rows = map_size_row;

*result_size_cols = map_size_cols;

return res;}

int main()

int _map_i, _map_j;

for (_map_i = 0; _map_i < _map_rows; _map_i++) }

res = solve(_n, _m, _map_rows, _map_cols, _map, &res_size_rows, &res_size_cols);

int res_i, res_j;

for (res_i = 0; res_i < res_size_rows; res_i++)

printf("\n"); }

return 0;

}

阿里巴巴筆試題

1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...

阿里巴巴筆試題

題意 給定一串數字 判斷是否存在這三個元素,它們將數字串分為四個子串,其中每個子串的數字之和均相同 該3個元素不納入計算 要求時間複雜度和空間複雜度均不能超過o n 思路 奇妙的利用了單調性,列舉第一段的和,第一段的和確定了,那麼接下來的2,3,4段的和就都確定了,什麼單調性呢?就是i右移,j,k都...

阿里巴巴筆試題

1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...