Different Ways to Add Parentheses
来源:互联网 发布:对号入座的网络词 编辑:程序博客网 时间:2024/05/01 21:08
c++
class Solution {public: vector<int> diffWaysToCompute(string input) { if (cache.find(input) != cache.end()) return cache[input]; vector<int> res; for (int i = 0; i < input.size(); ++i) { if (ispunct(input[i])) { vector<int> left = diffWaysToCompute(input.substr(0, i)); vector<int> right = diffWaysToCompute(input.substr(i + 1)); for (auto &a : left) { for (auto &b : right) { if (input[i] == '+') res.push_back(a + b); if (input[i] == '-') res.push_back(a - b); if (input[i] == '*') res.push_back(a * b); }//b }//a }//if }//i vector<int> result = res.size() > 0 ? res : vector<int>{ stoi(input) }; cache[input] = result; return result; }private: unordered_map<string, vector<int>> cache;};
0 0
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- different-ways-to-add-parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- Different Ways to Add Parentheses
- C/C++/ 文件
- JDBC对数据进行插入,更新或者是删除之后得到修改或者插入的那条记录的主键值
- Genymotion模拟器引起的Address already in use ADB server didn't ACK
- MySQL——sql优化(二)
- 乘法、除法与 0
- Different Ways to Add Parentheses
- mean开发之二:设置npm全局地址
- C语言链式栈和顺序栈的实现
- python 调用图像处理类库PIL 时遇到的问题
- 欢迎使用CSDN-markdown编辑器
- 把一个数的二进制表示反转后得到的数
- 数学测试5
- lsd-slam源码解读第三篇:算法解析
- 基于C/S的简单TCP网络编程