leetcode 日经贴,python code -Different Ways to Add Parentheses
来源:互联网 发布:魔兽之路隐藏英雄数据 编辑:程序博客网 时间:2024/05/22 16:56
Different Ways to Add Parentheses
class Solution {public: char gettoken(const string& s, int& pos, int& num) { int n = s.length(); while (pos < n && s[pos] == ' ') { ++pos; } if (pos == n) { return '\0'; } if (s[pos] >= '0' && s[pos] <= '9') { num = 0; while (pos < n && s[pos] >= '0' && s[pos] <= '9') { num = num * 10 + int(s[pos++] - '0'); } return 'd'; } return s[pos++]; } vector<int> diffWaysToCompute(string input) { vector<int> nums; vector<char> ops; int pos = 0, num = 0; char op; while (op = gettoken(input, pos, num)) { if (op == 'd') { nums.push_back(num); } else { ops.push_back(op); } } int n = nums.size(); vector<vector<vector<int> > > vst(n); for (int i = 0; i < n; ++i) { vst[i].resize(n); vst[i][i].push_back(nums[i]); } for (int len = 2; len <= n; ++len) { for (int i = 0; i + len <= n; ++i) { int j = i + len - 1; for (int k = i; k < j; ++k) { for (vector<int>::iterator itr1 = vst[i][k].begin(); itr1 != vst[i][k].end(); ++itr1) { for (vector<int>::iterator itr2 = vst[k + 1][j].begin(); itr2 != vst[k+1][j].end(); ++itr2) { int val = 0; switch (ops[k]) { case '+': val = *itr1 + *itr2; break; case '-': val = *itr1 - *itr2; break; case '*': val = *itr1 * *itr2; break; } vst[i][j].push_back(val); } } } } } return vst[0][n-1]; }};
0 0
- leetcode 日经贴,python code -Different Ways to Add Parentheses
- 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
- 29-HTML-14-HTML(表单格式化)
- 2015 Multi-University Training Contest 6 (hdu 5357 - Easy Sequence)栈的应用
- asp.net 中 linkbutton 点击下载文件
- 《Python基础教程(第2版)》学习笔记(三):
- HDU5375 Gray code
- leetcode 日经贴,python code -Different Ways to Add Parentheses
- GDOI2016模拟8.10火星菌
- 网络流 HDU 3549 Flow Problem
- 29-HTML-15-HTML(GET和POST区别)
- 学英语从背单词开始,但背单词要适可而止
- spring属性的注入实例
- 29-HTML-16-HTML(服务端GET和POST区别)
- 用python第三方库xlwt解决数据提取后存到execl
- 在虚拟机中安装windows