劍指Offer 面試題13(矩陣中的路徑)

2021-09-26 18:36:25 字數 1777 閱讀 3031

這裡是引用

題目描述

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

示例**

#include

intmovingcountcore

(int threshold,

int rows,

int cols,

int row,

int col,

bool

* visited)

;bool

check

(int threshold,

int rows,

int cols,

int row,

int col,

bool

* visited)

;int

getdigitsum

(int number)

;int

movingcount

(int threshold,

int rows,

int cols)

intmovingcountcore

(int threshold,

int rows,

int cols,

int row,

int col,

bool

* visited)

return count;

}bool

check

(int threshold,

int rows,

int cols,

int row,

int col,

bool

* visited)

intgetdigitsum

(int number)

return sum;

}// ********************測試**********************

void

test

(char

* testname,

int threshold,

int rows,

int cols,

int expected)

// 方格多行多列

void

test1()

// 方格多行多列

void

test2()

// 方格只有一行,機械人只能到達部分方格

void

test3()

// 方格只有一行,機械人能到達所有方格

void

test4()

// 方格只有一列,機械人只能到達部分方格

void

test5()

// 方格只有一列,機械人能到達所有方格

void

test6()

// 方格只有一行一列

void

test7()

// 方格只有一行一列

void

test8()

// 機械人不能進入任意乙個方格

void

test9()

intmain

(int agrc,

char

* ar**)

劍指offer 面試題66 矩陣中的路徑

author wangsai 題目要求 請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則該路徑不能再進入該格仔。例如 a b c e s f c...

《劍指offer》面試題12 矩陣中的路徑

題目 請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中任意一格開始,每一步可以在矩陣中向左 右 上 下移動一格。如果一條路徑經過了矩陣的某一格,那麼該路徑不能再次進入該格仔。例如在下面的3 4的矩陣中包含一條字串 bfce 的路徑 路徑中的字母用下劃線標出 ...

劍指Offer 面試題12(矩陣中的路徑)

這裡是引用 題目描述 請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的徑。路徑可以從矩陣中任意一格開始,每一步可以在矩陣中向左 右 上 下移動一格。如果一條路徑經過了矩陣的某一格,那麼該路徑不能再次進入該格仔。例如在下面的3 4的矩陣中包含一條字串 bfce 的路徑 路徑中的字母...