r语言列表添加元素的方法是什么
236
2022-11-29
[leetcode] 553. Optimal Division
Description
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.
Example: 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.
分析
题目的意思是:给你一个数组,然后组成一个连除运算,可以对边加括号,求出加括号后能够得到最大值的形式。
比如只有三个数字的情况 a / b / c,如果我们在后两个数上加上括号 a / (b / c),实际上就是a / b * c。而且b永远只能当除数,a也永远只能当被除数。同理,x1只能当被除数,x2只能当除数,但是x3之后的数,只要我们都将其变为乘数,那么得到的值肯定是最大的,所以就只有一种加括号的方式,即:
x1 / (x2 / x3 / … / xn) 知道这个形式,就是一个字符串拼接的问题了。
代码
class Solution {public: string optimalDivision(vector 参考文献 [LeetCode] Optimal Division 最优分隔
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~