題:給定一組正整數,相鄰的整數之間將會進行浮點除法操作。例如, [2,3,4] -> 2 / 3 / 4 。要找出怎麼新增括號,才能得到最大的結果,並且返回的表示式不應該含有冗餘的括號。
法:可以發現nums中第乙個數永遠在分子上,第二個數永遠作為被除數在分母上,那麼如果後面的數都可以在分子上,就可以獲得最大結果。所以根據例子:給定 [1000,100,10,2],輸出 "1000/(100/10/2)",我們發現要在第二個數的前面新增括號,並且後面都是除法。
注意:要考慮len(nums)==1時,不應該存在『/'和括號;len(nums)==2時,不應該存在括號。這兩種情況單拿出來考慮。
def optimaldivision(self, nums):
""":type nums: list[int]
:rtype: str
"""length=len(nums)
if length==1:
return str(nums[0])
elif length==2:
return str(nums[0])+"/"+str(nums[1])
res=''
for i in range (length):
if i==0:
res+=str(nums[i])+"/("
elif i==length-1:
res+=str(nums[i])+")"
else:
res+=str(nums[i])+'/'
return res
Leetcode 553 最優除法 C
給定一組正整數,相鄰的整數之間將會進行浮點除法操作。例如,2,3,4 2 3 4 但是,你可以在任意位置新增任意數目的括號,來改變算數的優先順序。你需要找出怎麼新增括號,才能得到最大的結果,並且返回相應的字串格式的表示式。你的表示式不應該含有冗餘的括號。輸入 1000,100,10,2 輸出 100...
206 (553)最優除法
給定一組正整數,相鄰的整數之間將會進行浮點除法操作。例如,2,3,4 2 3 4 但是,你可以在任意位置新增任意數目的括號,來改變算數的優先順序。你需要找出怎麼新增括號,才能得到最大的結果,並且返回相應的字串格式的表示式。你的表示式不應該含有冗餘的括號。示例 輸入 1000,100,10,2 輸出 ...
python引數除法運算 python除法運算
1.除法運算 1.1 有乙個運算元為負數 被除數到除數的距離整除除數,得到的數字加上符號便得到結果。例如 27 10 27到10的距離為37,37 10 3,於是 3便是表示式的結果。27 10 27到 10的距離為37,37 10 3,於是 3便是表示式的結果。1.2 運算元全為正數 略 1.3 ...