Maximum Score from Performing Multiplication Operations LeetCode solution in Python

1
class Solution:
2
def maximumScore(self, nums: List[int], multipliers: List[int]) -> int:
3
n = len(nums)
4
m = len(multipliers)
5

6
@lru_cache(None)
7
# To Save Computed Result
8

9
def X(i, left):
10

11
if i == m:
12
return 0
13

14
return max(
15
(multipliers[i] * nums[left]) + X(i + 1, left + 1),
16
(multipliers[i] * nums[n - 1 - (i - left)]) + X(i + 1, left),
17
)
18

19
# Start from Zero operations
20
return X(0, 0)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0