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

相关推荐

AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
牛客网
牛客企业服务