鏈結
機械人在乙個二維平面上行走,二維平面有障礙物,以座標形式給出。機械人可以左轉和右轉,前行3種狀態。求給定機械人行動動作陣列,完成過程中的最大歐氏距離?
二維陣列
貪心?每次乙個動作完成之後,進行最大值更新
使用map和set進行障礙物的初始化!根據map中的第乙個橫座標,把該橫座標對應的所有縱座標上有障礙物的,進行構造map對映,
參照題解
模擬這個機械人的構造過程!
如果再加乙個後轉,也就是直接(dir+2)%4而已!!!
轉向,東西南北,使用0-1-2-3四個數字表示,然後進行取餘操作,即可根據題目中的左轉右轉,更新東西南北的方向!
時間o(m+n)機械人動作陣列和障礙物陣列的長度
空間:o(n)障礙物陣列的長度
# define bei 0
# define nan 2
# define xii 3
# define don 1
int x,y,dir,mx;
class
solution
x=y=mx=0;
dir=bei;
for(
auto
&cmd:commands)
if(dir==xii)
while
(cmd && obs[x-1]
.count
(y)==0)
if(dir==don)
while
(cmd &&
!obs[x+1]
.count
(y))
if(dir==nan)
while
(cmd &&
!obs[x]
.count
(y-1))
--cmd ,
--y;
mx=max(mx,x*x+y*y);}
if(cmd==-2
) dir=
(dir+3)
%4;if
(cmd==-1
) dir=
(dir+1)
%4;//mx=max(mx,x*x+y*y); // 位置不對
}return mx;}}
;
874 模擬行走機械人
機械人在乙個無限大小的網格上行走,從點 0,0 處開始出發,面向北方。該機械人可以接收以下三種型別的命令 在網格上有一些格仔被視為障礙物。第i個障礙物位於網格點 obstacles i 0 obstacles i 1 如果機械人試圖走到障礙物上方,那麼它將停留在障礙物的前乙個網格方塊上,但仍然可以繼...
lettcode 模擬行走機械人
機械人在乙個無限大小的網格上行走,從點 0,0 處開始出發,面向北方。該機械人可以接收以下三種型別的命令 2 向左轉 90 度 1 向右轉 90 度 1 x 9 向前移動 x 個單位長度在網格上有一些格仔被視為障礙物。第 i 個障礙物位於網格點 obstacles i 0 obstacles i 1...
874 模擬行走機械人
題目描述 機械人在乙個無限大小的網格上行走,從點 0,0 處開始出發,面向北方。該機械人可以接收以下三種型別的命令 2 向左轉 90 度 1 向右轉 90 度 1 x 9 向前移動 x 個單位長度 在網格上有一些格仔被視為障礙物。第 i 個障礙物位於網格點 obstacles i 0 obstacl...