返回最大数
给定1个int型一维数组,要求返回1个字符串,字符串为这个数组中的数字能拼接成的最大数
class Solution:
def my_compare(self, str_num1, str_num2):
index = 0
max_index = min(len(str_num1), len(str_num2))
if str_num1[index] != str_num2[index]:
return str_num1[index] > str_num2[index]
while max_index - 1 > index:
index += 1
return self.my_compare(str_num1[index:], str_num2[index:])
else:
if len(str_num1) > len(str_num2):
return str_num1[index + 1] > str_num2[0]
else:
return str_num2[index + 1] > str_num1[0]
def solve(self, nums):
# write code here
str_nums = []
for i in nums:
str_nums.append(str(i))
nums_len = len(str_nums)
for j in range(nums_len):
for i in range(nums_len - j - 1):
if not self.my_compare(str_nums[i], str_nums[i+1]):
str_nums[i], str_nums[i + 1] = str_nums[i+1], str_nums[i]
result = ''
for i in str_nums:
result += i
return result
num_list = [12,3,8765,87656]
s_obj = Solution()
res = s_obj.solve(num_list)
print(res)

浙公网安备 33010602011771号