We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 7b5e97c commit d8e62daCopy full SHA for d8e62da
leetcode/algorithms/p1824_minimum_sideway_jumps.py
@@ -4,17 +4,19 @@
4
5
class Solution:
6
def minSideJumps(self, obstacles: List[int]) -> int:
7
- n = len(obstacles) - 1
8
- dp = [[0] * 3 for _ in range(n)]
9
- dp[0][0] = dp[0][2] = 1
+ n = len(obstacles)
+ dp = [[sys.maxsize] * 3 for _ in range(n)]
+ dp[0] = [1, 0, 1]
10
11
for i in range(1, n):
12
for j in range(3):
13
- if obstacles[i] == j + 1 or obstacles[i + 1] == j + 1:
14
- dp[i][j] = sys.maxsize
15
- else:
16
- dp[i][j] = min(dp[i - 1][j],
17
- dp[i - 1][(j + 1) % 3] + 1,
18
- dp[i - 1][(j + 2) % 3] + 1)
+ if obstacles[i] != j + 1:
+ dp[i][j] = dp[i - 1][j]
+
+ min_jumps = min(dp[i])
+ for j in range(3):
19
20
+ dp[i][j] = min(dp[i][j], min_jumps + 1)
21
22
return min(dp[-1])
0 commit comments