对于给定的一个由0~9十个数字组成的数列,请设计一个算法,对该数列进行重排,使得结果数列刚好比给定的数列大

比如64315排列后,
是①:64351,
而不是②:64513或64531
因为②比①大,需要的是“刚好”大于原来的数

从右向左逐个比较,找到第一个右边比左边大的两个数,交换它们,然后对交换后的右侧数一直到数组最右的数进行从小到大排序即可

其实就是一个选择排序的算法
要从右开始往左边排序,只要移动了一对就结束循环
因为高位的权值更高,移动了改变的数值也多,所以要优先挪动低位数字

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^