|
发表于 2020-3-29 11:10:59
|
显示全部楼层
本帖最后由 zltzlt 于 2020-3-30 13:24 编辑
我写的好难看
- def max_increase_num(num):
- str_num = str(num)
- length = len(str_num)
- increase_str_num = ""
- point = 0
- for i in range(1, length):
- if int(str_num[i-1]) > int(str_num[i]):
- break
- point += 1
- while int(str_num[point - 1]) == int(str_num[point]) and point > 0 and point != length-1:
- point -= 1
- if point == length-1:
- increase_str_num = str_num
- elif point == 0:
- increase_str_num = str(int(str_num[0]) - 1)
- else:
- increase_str_num = str_num[:point] + str(int(str_num[point])-1)
- for i in range(point+1, length):
- increase_str_num += "9"
- return int(increase_str_num)
复制代码 |
评分
-
查看全部评分
|