Optimal Division问题及解法
来源:互联网 发布:淘宝宝贝图片怎么拍照 编辑:程序博客网 时间:2024/05/18 17:41
问题描述:
Given a list of positive integers, the adjacent integers will perform the float division. For example, [2,3,4] -> 2 / 3 / 4.
However, you can add any number of parenthesis at any position to change the priority of operations. You should find out how to add parenthesis to get the maximum result, and return the corresponding expression in string format. Your expression should NOT contain redundant parenthesis.
示例:
Input: [1000,100,10,2]Output: "1000/(100/10/2)"Explanation:1000/(100/10/2) = 1000/((100/10)/2) = 200However, the bold parenthesis in "1000/((100/10)/2)" are redundant,
since they don't influence the operation priority. So you should return "1000/(100/10/2)". Other cases:1000/(100/10)/2 = 501000/(100/(10/2)) = 501000/100/10/2 = 0.51000/100/(10/2) = 2
Note:
- The length of the input array is [1, 10].
- Elements in the given array will be in range [2, 1000].
- There is only one optimal division for each test case.
问题分析:
通过分析我们发现当nums总数大于3时,输出出来的string形式均为nums[0] / (nums[1] / nums[2] / ... / nums[n -1])。
过程详见代码:
class Solution {public: string optimalDivision(vector<int>& nums) { string res = "";int n = nums.size();if (!n) return "";if (n == 1) return to_string(nums[0]);if (n == 2) return to_string(nums[0]) + "/" + to_string(nums[1]);res = to_string(nums[0]) + "/(" + to_string(nums[1]);for (int i = 2; i < n; i++){res += "/";res += to_string(nums[i]);}res += ")";return res; }};
阅读全文
0 0
- Optimal Division问题及解法
- Evaluate Division问题及解法
- leetcode 553. Optimal Division
- 553. Optimal Division
- 553. Optimal Division
- leetcode 553. Optimal Division
- 553. Optimal Division
- LeetCode:553. Optimal Division
- 553. Optimal Division
- 553. Optimal Division
- leetcode 553. Optimal Division
- 553. Optimal Division
- 553Optimal Division
- Leetcode553. Optimal Division
- 553. Optimal Division
- [leetcode]553. Optimal Division
- [LeetCode]553. Optimal Division
- LeetCode:553. Optimal Division
- 如何将PDF格式的文件转换成TXT
- 编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。
- Day10-31.String operator + and +=
- 疯狂java笔记之线性表
- 资深实践篇 |基于Kubernetes 1.61的Kubernetes Scheduler调度详解
- Optimal Division问题及解法
- 无线轮播+小圆点
- LinkedList源码详解
- [难度:容易] 先根和中根构建二叉树
- mybatis if字符串相等判断。。
- MongoDB学习笔记(索引)
- 无限轮播
- 9.4 边缘概率
- Parquet与ORC性能测试报告