显然尽可能让高位数字大就行。从左到右取每一位上的数字,记录是否一直在变小,如果是,返回原数,如果不是,在第一个第i位大于第i+1位的地方出现后记录第i位后面数字的最大值及其位置,再次遍历找到第一个比它小的数,交换两数位置即可。但是对于十进制整数从左到右取每一位很麻烦,所以可以先翻转整数,把算法对应的改一下,最后再翻转回来,时间On,空间O1。
1 2

相关推荐

07-14 13:37
重庆大学 C++
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-16 18:03
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务