Pythn程式設計練習 機械人行走

2021-09-02 20:31:14 字數 1566 閱讀 7058

需要注意的是,原題解中提到:必須注意使用 集合 set 作為對障礙物使用的資料結構,以便我們可以有效地檢查下一步是否受阻。如果不這樣做,我們檢查障礙點的速度可能會慢大約 10000 倍。

class

solution

:def

robotsim

(self, commands, obstacles)

:"""

:type commands: list[int]

:type obstacles: list[list[int]]

:rtype: int

"""ans=

0 d=

f=obstacleset =

set(

map(

tuple

, obstacles)

)#關鍵步

direction=

'+y'

direction_change=

x=0 y=

0for i in commands:

if i>0:

for k in

range

(i):

d[direction]+=1

coordinate =

(d['+x'

]- d[

'-x'

], d[

'+y'

]- d[

'-y'])

if coordinate in obstacleset:

d[direction]-=1

break

else

: direction=direction_change[direction+

str(i)

] ans=

max(

([d[

'+x'

]-d[

'-x'

],d[

'+y'

]-d[

'-y']]

[0]**

2+[d['+x'

]-d[

'-x'

],d[

'+y'

]-d[

'-y']]

[1]**

2),ans)

return

(ans)

class

solution

:def

uniquepaths

(self, m, n)

:"""

:type m: int

:type n: int

:rtype: int

"""# c^(m-1)_(m+n-2)

res =

1for i in

range

(m, m+n-1)

: res *= i

res /= i-m+

1return

int(res)

#**源於leetcode提交記錄提交用時最少的範例。

Python程式設計練習 機械人行走

1.leetcode974 模擬行走機械人 控制機械人行走的基本思想是 先更新方向變化,再以 步長1 更新座標。需要注意的是,原題解中提到 必須注意使用 集合 set 作為對障礙物使用的資料結構,以便我們可以有效地檢查下一步是否受阻。如果不這樣做,我們檢查障礙點的速度可能會慢大約 10000 倍。c...

機械人行走

某少年宮引進了一批機械人小車。可以接受預先輸入的指令,按指令行動。小車的基本動作很簡單,只有3種 左轉 記為l 右轉 記為r 向前走若干厘公尺 直接記數字 例如,我們可以對小車輸入如下的指令 15l10r5lrr10r20 則,小車先直行15厘公尺,左轉,再走10厘公尺,再右轉,不難看出,對於此指令...

藍橋杯 機械人行走

某少年宮引進了一批機械人小車。可以接受預先輸入的指令,按指令行動。小車的基本動作很簡單,只有3種 左轉 記為l 右轉 記為r 向前走若干厘公尺 直接記數字 例如,我們可以對小車輸入如下的指令 15l10r5lrr10r20 則,小車先直行15厘公尺,左轉,再走10厘公尺,再右轉,不難看出,對於此指令...