class Solution(object):
def __init__(self):
self.res_hash=dict()
def diffWaysToCompute(self, input):
"""
:type input: str
:rtype: List[int]
"""
if input.isdigit():return [int(input)]
if input in self.res_hash:
print 'reused result for',input
return self.res_hash[input]
res=[]
for i in range(len(input)):
if input[i] in '+-*':
res1=self.diffWaysToCompute(input[:i])
res2=self.diffWaysToCompute(input[i+1:])
for a in res1:
for b in res2:
res.append(self.helper(a,b,input[i]))
self.res_hash[input]=res
return res
def helper(self,num1,num2,operator):
if operator=='+':
return num1+num2
elif operator=='-':
return num1-num2
else:
return num1*num2
241. Different Ways to Add Parentheses
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Given a string of numbers and operators, return all possi...
- Given a string of numbers and operators, return all possi...
- **Reference: **https://leetcode.com/problems/different-wa...
- Given a string of numbers and operators, return all possi...
- Question description: My code: LeetCode result: Solution:...