讨论/题目交流/求一道算法题:给出一个数字,找出比它大的的最小数字;/
求一道算法题:给出一个数字,找出比它大的的最小数字;

给定一个数字,以它的各位为元素,组合出下一个比它大的最小数字;
比如1234,输出1243;
比如1243,输出1324;

分这几个步骤:

  • 逆序找出大于前一位数字的索引,比如12354,5大于3,以3为分界
  • 3以前的部分不动
  • 将3和3后面部分中大于3的最小数字交换,即3和4交换,现在结果为12453
  • 然后对先前3后面的部分,反转。结果为12435

如果哪里不对,还望指出~

1
展开全部 3 讨论