553. Optimal Division

Description

image-20210820215245763

image-20210820215255532

Solution

To get the maxium value in the nums, we can fix the numerator and get minium denominator in the lefted numbers. So just let each number divided by later to generate a minium denominator.

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution:
def optimalDivision(self, nums: List[int]) -> str:
res = ""
if len(nums) == 1:
res = str(nums[0])
return res
elif len(nums) == 2:
res = str(nums[0]) + "/" + str(nums[1])
return res
for i in range(len(nums)):
if i == 0:
res += str(nums[i]) + "/("
continue
res += str(nums[i]) + "/"
res = res[:-1]
res += ")"
return res

image-20210820215732062