排序数字组成的字符串-huawei
对十进制字符串中的每个整数字符串进行重排序,获取所有排序中的最小整数;输出字符串的每一个都必须为有效值:120排序后为102,‘012’为无效值。
根据指定的排序方式对重排序的十进制字符串进行排序后输出;实现时无需考虑非法输入。
IN:
- 排序方式 升|降
DESC | ASCE
- 一组十进制整数字符串,以“,”为分隔
897,123,645
OUT:
按指定排序方式排序后得到的十进制整数字符串;
789,123,456
py
class Solution():
def MinNum(self,sortway,ss):
j = 0
nums = ss.split(',')
for i in range(len(nums)):
lst = list(nums[i])
lst.sort()
print(lst)
nums[i] = ''.join(lst)
if nums[i].find('0')!=-1:
r = nums[i].rfind('0')
print(r)
nums[i] = nums[i][r+1]+nums[i][0:r+1]+nums[i][r+2:]
if sortway == 'ASCE':
nums.sort()
else:
nums.sort(reverse=True)
res = ''
for i in range(len(nums)):
res = res+nums[i]
if i != len(nums)-1:
res = res+(',')
return res
N = Solution()
print(N.MinNum('ASCE','807,1603,645'))