Closest Dessert Cost LeetCode solution in Python

1
class Solution:
2
def closestCost(
3
self, baseCosts: List[int], toppingCosts: List[int], target: int
4
) -> int:
5
self.ans = self.diff = float("inf")
6

7
n = len(baseCosts)
8
m = len(toppingCosts)
9

10
def solve(sum, target, indx):
11
if abs(sum - target) < self.diff:
12
self.diff = abs(sum - target)
13
self.ans = sum
14
elif abs(sum - target) == self.diff:
15
self.ans = min(self.ans, sum)
16

17
if indx == m:
18
return
19

20
i = indx
21
for count in range(3):
22
sum += toppingCosts[i] * count
23
solve(sum, target, i + 1)
24
sum -= toppingCosts[i] * count
25

26
for i in baseCosts:
27
solve(i, target, 0)
28
return self.ans

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0