我是靠谱客的博主 迅速大炮,最近开发中收集的这篇文章主要介绍LeetCode 553. Optimal Division 解题报告(python),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

553. Optimal Division

  1. Optimal Division python solution

题目描述

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.
在这里插入图片描述

解析

x1 / x2 / x3 / … / xn
我们如何加括号使得其值最大
无论如何加括号,数列的第一个数只可能做分子,数列的第二个数只可能做分母。那么问题就变得简化了,我们只要让第三个到最后一个数变成分子就好了,那么一定是最大的!

例子
1000/(100/10/2) == (1000102)/(100)

class Solution(object):
    def optimalDivision(self, nums):
        """
        :type nums: List[int]
        :rtype: str
        """
        nums = list(map(str, nums))
        if len(nums) > 2:
            nums[1] = "(" + nums[1]
            nums[-1] = nums[-1] + ")"
        return "/".join(nums)
        

Reference

https://leetcode.com/problems/optimal-division/discuss/101721/5-lines-Tricky-Python

最后

以上就是迅速大炮为你收集整理的LeetCode 553. Optimal Division 解题报告(python)的全部内容,希望文章能够帮你解决LeetCode 553. Optimal Division 解题报告(python)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部