python leetcode 241. Different Ways to Add Parentheses

本文深入探讨了diffWaysToCompute算法的实现细节,该算法通过递归方式解析数学表达式,针对输入字符串中可能包含的加、减、乘运算符,计算所有可能的运算结果。通过对输入字符串的遍历,算法识别运算符位置,进一步分解表达式为左右子表达式,分别计算其可能的数值结果,最后结合运算符进行组合计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class Solution(object):
    def diffWaysToCompute(self, input):
        """
        :type input: str
        :rtype: List[int]
        """ 
        if input.isdigit(): return [int(input)]
        res=[]
        for i in range(len(input)):
            if input[i] in '+-*':
                L=self.diffWaysToCompute(input[:i])
                R=self.diffWaysToCompute(input[i+1:])
                for r1 in L:
                    for r2 in R:
                        if input[i]=='*':
                            res.append(r1*r2)
                        elif input[i]=='+':
                            res.append(r1+r2)
                        else:
                            res.append(r1-r2)
        return res
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值