874 模擬行走機械人

2021-10-23 19:30:05 字數 1215 閱讀 8415

題目描述:

機械人在乙個無限大小的網格上行走,從點 (0, 0) 處開始出發,面向北方。該機械人可以接收以下三種型別的命令:

-2:向左轉 90 度

-1:向右轉 90 度

1 <= x <= 9:向前移動 x 個單位長度

在網格上有一些格仔被視為障礙物。

第 i 個障礙物位於網格點 (obstacles[i][0], obstacles[i][1])

機械人無法走到障礙物上,它將會停留在障礙物的前乙個網格方塊上,但仍然可以繼續該路線的其餘部分。

返回從原點到機械人所有經過的路徑點(座標為整數)的最大歐式距離的平方。

示例 1:

輸入: commands = [4,-1,3], obstacles =

輸出: 25

解釋: 機械人將會到達 (3, 4)

示例 2:

輸入: commands = [4,-1,4,-2,4], obstacles = [[2,4]]

輸出: 65

解釋: 機械人在左轉走到 (1, 8) 之前將被困在 (1, 4) 處

0 <= commands.length <= 10000

0 <= obstacles.length <= 10000

-30000 <= obstacle[i][0] <= 30000

-30000 <= obstacle[i][1] <= 30000

答案保證小於 2 ^ 31

方法1:

主要思路:

(1)先將障礙座標進行儲存;

(2)引入四個方向的變換;

(3)儲存中間路徑,及中間路徑可能獲得的最大值;

class

solution

//移動的方向

int dx[4]

=;int dy[4]

=;int i=0;

//中間路徑

int max_len=0;

int x=0;

int y=0;

for(

int& com:commands)

else

if(com==-2

)else

else}}

}return max_len;}}

;

874 模擬行走機械人

機械人在乙個無限大小的網格上行走,從點 0,0 處開始出發,面向北方。該機械人可以接收以下三種型別的命令 在網格上有一些格仔被視為障礙物。第i個障礙物位於網格點 obstacles i 0 obstacles i 1 如果機械人試圖走到障礙物上方,那麼它將停留在障礙物的前乙個網格方塊上,但仍然可以繼...

Leetcode 874 模擬行走機械人

如果機械人試圖走到障礙物上方,那麼它將停留在障礙物的前乙個網格方塊上,但仍然可以繼續該路線的其餘部分。返回從原點到機械人的最大歐式距離的平方。示例 1 輸入 commands 4,1,3 obstacles 輸出 25解釋 機械人將會到達 3,4 示例 2 輸入 commands 4,1,4,2,4...

leetcode 874 模擬行走機械人

機械人在乙個無限大小的網格上行走,從點 0,0 處開始出發,面向北方。該機械人可以接收以下三種型別的命令 在網格上有一些格仔被視為障礙物。第i個障礙物位於網格點 obstacles i 0 obstacles i 1 如果機械人試圖走到障礙物上方,那麼它將停留在障礙物的前乙個網格方塊上,但仍然可以繼...