[LeetCode]553. Optimal Division

题目

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) = 200
However, 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 = 50
1000/(100/(10/2)) = 50
1000/100/10/2 = 0.5
1000/100/(10/2) = 2

Note:

  1. The length of the input array is [1, 10].
  2. Elements in the given array will be in range [2, 1000].
  3. There is only one optimal division for each test case.
难度

Medium

方法

这题难度标为Medium,但是很简单。n1/n2/n3/n5/n5通过加括号改变运算优先级,它的最大值为n1*n3*n4*n5/n2,即n1/(n2/n3/n4/n5)。添加括号的位置是固定的,格式化输出即可

python代码
class Solution(object):
    def optimalDivision(self, nums):
        """
        :type nums: List[int]
        :rtype: str
        """
        nums = map(str, nums)
        if len(nums) <= 2:
            return '/'.join(nums)
        
        return "%s/(%s)" % (str(nums[0]), '/'.join(nums[1:]))

assert Solution().optimalDivision([1000,100,10,2]) == '1000/(100/10/2)'
assert Solution().optimalDivision([2]) == '2'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,782评论 0 33
  • 今天的太阳很大,天很蓝。 我站在阳台,看楼下车水马龙,人来人往。 耳机里传来薛之谦唱的《你还要我怎样》。 林先生,...
    安小葶阅读 147评论 0 1
  • “医闹”,顾名思义,即患者或者患者家属因为对治疗效果不满或者患者死亡等等原因对当事医生和医院进行不合理诉求的...
    Viktor华阅读 372评论 0 3
  • 今天带图图去儿童乐园玩,进去没几分钟,她拉着一个小女孩过来跟我说,“妈妈,我交了一个好朋友”,然后在整场游玩...
    小小图丁阅读 364评论 0 5
  • 稀缺会吸引注意力,我对这点深有体会。 现阶段每天都有两件事对我来说是很重要的:一个是学习蚂蚁私塾的课程;另一个是学...
    振轩后生阅读 208评论 0 0