面試題13 機械人的運動範圍

2021-10-04 20:29:39 字數 500 閱讀 4362

題解:複雜度分析

時間複雜度:o(mn),其中 m 為方格的行數, n 為方格的列數。一共有 o(mn) 個狀態需要計算,每個狀態遞推計算的時間複雜度為 o(1),所以總時間複雜度為 o(mn)。

空間複雜度:o(mn),其中 m 為方格的行數,n 為方格的列數。我們需要 o(mn) 大小的結構來記錄每個位置是否可達。

class solution 

void dfs(int row, int col, int m, int n, int k)

if(check(row, col, k))

}bool check(int x, int y, int k)

while (y > 0)

if(sum > k)

return true;}};

面試題13 機械人的運動範圍

題目 機械人的運動範圍 題 地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但是,它不能進入方格 35,38 ...

面試題13 機械人的運動範圍

地上有乙個m行和n列的方格。乙個機械人從座標 0,0 的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但是,它不能進入方格 35,38 因為3 5 3 8 19...

面試題13 機械人的運動範圍

地上有乙個m行n列的方格。乙個機械人從座標 0,0 的格仔開始移動,它每次可以向左 右 上 下移動一格,但不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但它不能進入方格 35,38 因為3 5 3 8 19,請問該機械人能...