553. 最优除法

https://leetcode-cn.com/problems/optimal-division/

解法一:

x1/x2/…/xn,无论在之间加多少个括号,x1总是作为被除数,x2总是作为除数,因此结果最大的做法是将x3到xn的所有除法转换为乘法,即x1/(x2/…/xn)=x1/x2x3…*xn.

class Solution:
    def optimalDivision(self, nums: List[int]) -> str:
        res = ''
        n = len(nums)
        if n == 1:
            return str(nums[0])
        if n == 2:
            return str(nums[0]) + '/' + str(nums[1])
        res = str(nums[0]) + '/('
        for num in nums[1:-1]:
            res = res + str(num) + '/'
        res = res + str(nums[-1]) + ')'
        return res

最后更新于