312.戳气球
一:回溯
class Solution:
def maxCoins(self, nums) -> int:
self.res = 0
def bt(nums, score):
n = len(nums)
if n ==0:
self.res = max(self.res ,score)
return
for i in range(n):
tmp = nums
s=0
if n==1:
s = nums[0]
elif i == 0:
s = nums[i] *nums[i+1]
elif i == n-1:
s = nums[i-1]*nums[i]
else:
s = nums[i-1]*nums[i]*nums[i+1]
nums = nums[0:i] + nums[i + 1:]
bt(nums, score+s)
nums = tmp
bt(nums, 0)
return self.res二:dp


最后更新于