leetcode-553. 最优除法
题目
示例
方法一:数学思想
思路:我的答案(python)
class Solution:
def optimalDivision(self, nums: List[int]) -> str:
n = len(nums)
if n==1:
return str(nums[0])
if n==2:
return str(nums[0])+"/"+str(nums[1])
else:
res = str(nums[0])+"/("
for i in range(1,n-1):
res+=str(nums[i])+"/"
res+=str(nums[n-1])+")"
return res
官方答案(python)
class Solution:
def optimalDivision(self, nums: List[int]) -> str:
if len(nums) == 1:
return str(nums[0])
if len(nums) == 2:
return str(nums[0]) + "/" + str(nums[1])
return str(nums[0]) + "/(" + "/".join(map(str, nums[1:])) + ")"
join()方法
https://www.runoob.com/python/att-string-join.html
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );
方法二:动态规划
官网链接:https://leetcode-cn.com/problems/optimal-division/solution/zui-you-chu-fa-by-leetcode-solution-lf4c/