计算最大值-LintCode
2017-12-08 09:33
155 查看
给一个字符串类型的数字, 写一个方法去找到最大值, 你可以在任意两个数字间加 + 或 *
样例:
给出 str = 01231, 返回 10 ((((0 + 1) + 2) * 3) + 1) = 10 我们得到了最大值 10
给出 str = 891, 返回 73 因为 8 * 9 * 1 = 72 和 8 * 9 + 1 = 73, 所以73是最大值
思路:
遍历字符串的每一位,转化为数字num,并将当前的结果res置为max{res*num,res+num},
最后返回res。
样例:
给出 str = 01231, 返回 10 ((((0 + 1) + 2) * 3) + 1) = 10 我们得到了最大值 10
给出 str = 891, 返回 73 因为 8 * 9 * 1 = 72 和 8 * 9 + 1 = 73, 所以73是最大值
思路:
遍历字符串的每一位,转化为数字num,并将当前的结果res置为max{res*num,res+num},
最后返回res。
#ifndef C719_H #define C719_H #include<iostream> #include<string> using namespace std; class Solution { public: /* * @param : the given string * @return: the maximum value */ int calcMaxValue(string &str) { // write your code here if (str.empty()) return 0; int res = 0; //遍历字符串的每一位,转化为数字num,并将当前的结果res置为max{res*num,res+num},最后返回res for (int i = 0; i < str.size(); ++i) { int num = stoi(str.substr(i, 1)); res = maxVal(res*num, res + num); } return res; } int maxVal(int a, int b) { return a>b ? a : b; } }; #endif
相关文章推荐
- LINTCODE——计算最大值
- lintcode计算最大间距
- 计算历年数据中每个月连续10天最大平均值
- OpenJudge计算概论-字符串最大跨距
- 从数据库中选取前5个最大值,并计算均值
- 乘积最大子序列,lintcode
- 计算4000000000以内最大的f(n)=n的值---字符串问题python实现(五)
- Codeforces Round #358 (Div. 2) E 计算几何 旋转卡壳求最大三角形面积
- python_lintcode_97二叉树的最大深度 _155二叉树的最小深度
- 如何计算WEB服务器的最大负载量
- 最大平均值子数组-LintCode
- 二叉树最大节点-lintCode
- 计算几何——最大三角形【HDU2202】
- 二叉树的最大节点-LintCode
- 最大流最小割问题的流量计算问题
- 拥有正方形经纬度中心点、正方形边长,如何计算正方形范围内最大最小经纬度?
- [LintCode] Maximum Subarray 最大子数组
- LintCode-二叉树的最大节点
- [Lintcode] #41 最大子数组
- awk实现求和、平均、最大值和最小值的计算操作