给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。
示例 1 :
输入: 2736 输出: 7236 解释: 交换数字2和数字7。
示例 2 :
输入: 9973 输出: 9973 解释: 不需要交换。
注意:
- 给定数字的范围是 [0, 108]
class Solution(object):
def maximumSwap(self, num):
"""
:type num: int
:rtype: int
"""
k=[]
l=list(str(num))
for j in range(len(l)):
k.append(max(l[j:]))
#print(k) ['7', '7', '6', '6']
p=len(l)
for i in range(p):
if l[i]<k[i]:
m=l[::-1]
print(type(m))
n=m.index(k[i])
l[i],l[p-n-1]=l[p-n-1],l[i]
break;
return int(''.join(l))