LeetCode:Different Ways to Add Parentheses
来源:互联网 发布:网络棋牌作弊器下载 编辑:程序博客网 时间:2024/06/06 05:06
Different Ways to Add Parentheses
Total Accepted: 22360 Total Submissions: 62962 Difficulty: Medium
Given a string of numbers and operators, return all possible results from computing all the different possible ways to group numbers and operators.
The valid operators are+
, -
and *
.
Example 1
Input: "2-1-1"
.
((2-1)-1) = 0(2-(1-1)) = 2
Output: [0, 2]
Example 2
Input: "2*3-4*5"
(2*(3-(4*5))) = -34((2*3)-(4*5)) = -14((2*(3-4))*5) = -10(2*((3-4)*5)) = -10(((2*3)-4)*5) = 10
Output: [-34, -14, -10, -10, 10]
Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Hide Similar Problems
java code:
public class Solution { public List<Integer> diffWaysToCompute(String input) { List<Integer> ret = new ArrayList<Integer>(); for(int i=0;i<input.length();i++){ int c = input.charAt(i); if(c=='+' || c=='-' || c=='*') { List<Integer> leftList = diffWaysToCompute(input.substring(0,i)); List<Integer> rightList = diffWaysToCompute(input.substring(i+1)); for(int left : leftList){ for(int right : rightList){ int t = 0; switch(c){ case '+': t = left + right; break; case '-': t = left - right; break; case '*': t = left * right; break; } ret.add(t); } } } } if(ret.size()==0){ ret.add(Integer.valueOf(input)); } return ret; }}
0 0
- leetcode 241 Different Ways to Add Parentheses
- Leetcode 241- Different Ways to Add Parentheses
- Leetcode #241 Different Ways to Add Parentheses
- LeetCode - Different Ways to Add Parentheses
- [leetCode] Different Ways to Add Parentheses
- [leetcode 241]Different Ways to Add Parentheses
- Leetcode|Different Ways to Add Parentheses
- [leetcode][dfs] Different Ways to Add Parentheses
- LeetCode Different Ways to Add Parentheses
- [LeetCode] Different Ways to Add Parentheses
- [leetcode] 241.Different Ways to Add Parentheses
- [leetcode]Different Ways to Add Parentheses
- LeetCode(241)Different Ways to Add Parentheses
- [LeetCode]Different Ways to Add Parentheses
- leetcode 241: Different Ways to Add Parentheses
- Leetcode: Different Ways to Add Parentheses
- [LeetCode 241] Different Ways to Add Parentheses
- LeetCode -- Different Ways to Add Parentheses
- HTML5第十次作业
- Handler
- 比特币区块链学习
- 第十三周项目1.1—分数中的运算符的重载
- 第十三周项目-交通工具类程序
- LeetCode:Different Ways to Add Parentheses
- BZOJ 1070 费用流
- JavaScript学习--Item8 函数,方法,构造函数调用 标签: javascript构造函数面向对象函数call
- Android微信分享学习笔记
- LeetCode题解——Shortest Palindrome
- 最长下降子序列
- 第13周阅读程序(2)虚析构函数
- flood fill
- C#实验8(2)