Skip to content

Latest commit

 

History

History
69 lines (47 loc) · 1.65 KB

File metadata and controls

69 lines (47 loc) · 1.65 KB

556. 下一个更大元素 III

给你一个正整数 n,请你找出符合条件的最小整数,其由重新排列 n 中存在的每位数字组成,并且其值大于 n。如果不存在这样的正整数,则返回 -1

注意 ,返回的整数应当是一个 32 位整数,如果存在满足题意的答案,但不是 32 位整数 ,同样返回 -1

示例 1:

输入:n = 12
输出:21

示例 2:

输入:n = 21
输出:-1

提示:

  • 1 <= n <= 231 - 1

思路分析

利用了 31. 下一个排列 的思路。增加了是否溢出的判断。

Tip
图示是先排序,再交换。和先交换,再排序,结果似乎一样的。
{image_attr}
{image_attr}
{image_attr}
{image_attr}
一刷
link:{sourcedir}/_0556_NextGreaterElementIii.java[role=include]