答案 0 :(得分:1)
38276< 38627< 87632
所以你对87632的建议不可能是次大的。正如链接问题的评论部分所示,请查看C ++ next_permute。
如果有帮助,请将此视为下一个按字母顺序排列的解决方案。即如果你有abc,(下一个最大的)下一个字母顺序将是acb。
答案 1 :(得分:1)
问题是要找到下一个最高数字,而不是您当前正在考虑的最高数字。
如果初始号码n
为38276
,则下一个最高号码m
将为38627
,因为没有号码k
可以由初始数字,例如n < k < m
。
答案 2 :(得分:1)
下一个最高的数字肯定是38627
而不是87632
。使用强力方法,您可以找到数字的所有排列,然后对其进行排序。相当于c ++中的逻辑是next_permutation
函数