Leetcode 3290. Maximum Multiplication Score
- Leetcode 3290. Maximum Multiplication Score
- 1. 解题思路
- 2. 代码实现
- 题目链接:3290. Maximum Multiplication Score
1. 解题思路
这一题的话就是一个比较暴力的动态规划,这里就不过多展开了,参考代码看一下就行。
2. 代码实现
给出python代码实现如下:
class Solution:
def maxScore(self, a: List[int], b: List[int]) -> int:
n = len(b)
@lru_cache(None)
def dp(idx, k):
if k == 0:
return 0
if idx == n-k:
return sum(a[3-i] * b[n-1-i] for i in range(k))
return max(dp(idx+1, k), a[4-k]*b[idx] + dp(idx+1, k-1))
return dp(0, 4)
提交代码评测得到:耗时2901ms,占用内存752MB。