给定一个字符串num,字符串由0~9的正整数组成,你至多可以交换一次字符串中的任意两位字符,使得交换后的num代表的正整数尽可能大。
1.给定的num不会含有前导0,是一个合法的正整数类型的字符串
2.可以不交换,但是最多只能交换一次
数据范围:
"4556"
"6554"
交换6和4,可以获得最大的正整数6554
"5"
"5"
"8873"
"8873"
不需要交换
package main import "strings" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @return string字符串 */ func maximumSwap( num string ) string { nums:=strings.Split(num,"") for i:=0;i<len(nums);i++{ max:=i for j:=i+1;j<len(nums);j++{ if nums[j]>=nums[max]{ max=j } } if nums[max]>nums[i]{ nums[max],nums[i]=nums[i],nums[max] break } } return strings.Join(nums,"") }