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

2021-10-23 04:57:53 字數 1300 閱讀 9330

2020/4/8每日一題打卡√

典型矩陣搜尋,用dfs或者bfs加簡單判斷條件完成

相似題目:994. 腐爛的橘子

200. 島嶼數量

題目描述

解題思路

1、dfs深度優先搜尋(用遞迴完成)

因為起點在左上角,實際上只需要向下和向右搜尋,不需要向上和向左。

public

intmovingcount

(int m,

int n,

int k)

public

intdfs

(int i,

int j,

int m,

int n,

int k,

boolean visited[

])

提交結果:

2、bfs廣度優先搜尋

public

intmovingcountbfs

(int m,

int n,

int k),}

; queue

queue =

newlinkedlist

(); queue.

offer

(new

point(0

,0))

; visited[0]

[0]=

true

;while

(!queue.

isempty()

)}}return re;

}public

boolean

checkpoint

(int x,

int y,

int m,

int n,

int k,

boolean visited[

])public

class

point

}

提交結果:

在這道題裡面bfs比dfs慢了好多

面試題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,請問該機械人能...