我正在尝试解决此问题:
给出一个仅包含数字0-9和目标值的字符串, 返回添加二进制运算符(非一元)+,-或 在数字之间加*,以便计算得出目标值。
我想出了一种使用加法和减法而不是乘法的解决方案
class Solution:
"""
@param num: a string contains only digits 0-9
@param target: An integer
@return: return all possibilities
"""
def addOperators(self, num, target):
res = []
def dfs(index, cur, s, prev):
if cur == target and index == len(str(num)):
res.append(s)
for i in range(index, len(num)):
n = int(num[index:i+1])
dfs(i+1, cur+n, s+"+"+str(n))
dfs(i+1, cur-n, s+"-"+str(n))
dfs(0, 0, "")
return res
如何将乘法结合到该解决方案中?