算法分析与设计丨第一周丨LeetCode(2)——Different Ways to Add Parentheses(Medium)
来源:互联网 发布:软件合同登记 编辑:程序博客网 时间:2024/06/06 03:27
点击打开链接
这题目昨天做了今天才有时间写博客。
因为这个星期老师讲了分治法所以我就找了这方面的题目,这道题是要处理所有加括号的情况,看了看众多前辈的提示,我用的与其类似的递归的方法,碰到每个符号时将其分为左右两边来处理,遍历一遍字符串,便可处理完毕。
class Solution {public: vector<int> diffWaysToCompute(string input) { vector<int> my_vec; for(int i = 0;i<input.length();++i) { if(input[i] == '+' || input[i] == '-' || input[i] == '*')//碰到符号才处理 { vector<int> left = diffWaysToCompute(input.substr(0,i));//分成每个部分括号,包括所有括号的情况 vector<int> right = diffWaysToCompute(input.substr(i+1));//左右两边 //下面将每个括号部分进行处理 for(int j = 0;j<left.size();++j) for(int k =0;k<right.size();++k) { if(input[i] == '+') my_vec.push_back(left[j] + right[k]); else if(input[i] == '-') my_vec.push_back(left[j] - right[k]); else //if(input[i] == '*') my_vec.push_back(left[j] * right[k]); } } } //将字符数字化 if(my_vec.empty()) { my_vec.push_back(atoi(input.c_str())); } return my_vec; }};
阅读全文
0 0
- 算法分析与设计丨第一周丨LeetCode(2)——Different Ways to Add Parentheses(Medium)
- (算法分析Week1)Different Ways to Add Parentheses[Medium]
- Different Ways to Add Parentheses——Difficulty:Medium
- 题解——Leetcode 241. Different Ways to Add Parentheses 难度:Medium
- 算法课第2周第2题——241. Different Ways to Add Parentheses
- [Leetcode 241, Medium] Different Ways to Add Parentheses
- Leetcode 241. Different Ways to Add Parentheses (Medium) (cpp)
- Leetcode 241. Different Ways to Add Parentheses[medium]
- LeetCode[241. Different Ways to Add Parentheses] 难度[medium]
- LeetCode解题报告 241. Different Ways to Add Parentheses [medium]
- Different Ways to Add Parentheses —— Leetcode(分治思想)
- LeetCode题解——Different Ways to Add Parentheses
- leetcode——Different Ways to Add Parentheses
- Leetcode——241. Different Ways to Add Parentheses
- LeetCode 题解(150): Different Ways to Add Parentheses
- LeetCode 题解(151): Different Ways to Add Parentheses
- 241. Different Ways to Add Parentheses (算法第二周)
- 算法设计课作业系列3——Different Ways to Add Parentheses
- 【BZOJ1426】收集邮票 期望DP
- js正则中\b的用法
- 本无完美
- Android--(6)--详解ImageButton属性
- 2017-09-10 LeetCode_017 Letter Combinations of a Phone Number
- 算法分析与设计丨第一周丨LeetCode(2)——Different Ways to Add Parentheses(Medium)
- anaconda 中查看库的版本号
- matlab2c使用c++实现matlab函数系列教程-exprnd函数
- 零基础学小程序007----小程序轮播图,自动轮播,循环轮播,定时轮播
- PRML Notes-Chapter1 Introduction(1.2 Probability Theory)
- MySQL数据库引擎
- Pylon5 SDK搭配OpenCV使用入门(Visual studio 2015)
- PX4源码分析8_PX4的sensor校准
- 返回页面顶部