LeetCode 筆記 - 2849. Determine if a Cell Is Reachable at a Given Time
題目在此 2849. Determine if a Cell Is Reachable at a Given Time
給定兩組座標開始與終點與時間,請問是否可以在剛好那個時間抵達終點。
每個時間單位可以移動一格,並且可以移動相鄰的 8 格,最重要的一點是地圖是無限大的,而且走過的格子可以重複走。
解題思維
名詞解說:
這題條件這麼寬鬆,其實就是需要思維轉一個彎,千萬不要看到座標、路徑就想到 DFS,這題 DFS 絕對會超時。
仔細想想,你會發現其實只要判斷終點是否在起點的 8 格內,且時間大於等於兩點的距離,就可以了。
因為我可以透過直走或斜走還有各種重複走,把時間控制在剛好那個時間就可以了。
剩下就是排除掉特殊情況,例如起點與終點相同但時間是一秒。
程式碼
1 | class Solution: |