給定乙個32位正整數n,你需要找到最小的32位整數,其與n中存在的位數完全相同,並且其值大於n。如果不存在這樣的32位整數,則返回-1。
class solution
return (int)result;
//return nextarray(array);
}public long nextarray(int array) }/*
* 如果沒找到,也就是到了最後的乙個
*/if (i == 0)
/**第二步,從後往前找乙個比array[i-1]大的第乙個數字.
*/int j;
for (j = length-1; j > i; j --) }/*
第三步,交換array[i-1],array[j]
*/int temp = array[i-1];
array[i-1] = array[j];
array[j] = temp;
/*最後一步,把i-1後面(從i-2開始至length-1)的序列反序
*/while (i < length-1)
/*反序完畢即為一次排列結束
得到的序列就是下乙個全排列
*/long result = 0;
for (int index = 0; index < array.length; index++)
return result;
}private int transfer(int n)
return arr;
}}
下乙個更大元素 III
參考 感謝!給定乙個32位正整數 n,你需要找到最小的32位整數,其與 n 中存在的位數完全相同,並且其值大於n。如果不存在這樣的32位整數,則返回 1。示例 1 輸入 12 輸出 21 示例 2 輸入 21 輸出 1 class solution int nextgreaterelement in...
leetcode 556 下乙個更大元素 III
給你乙個正整數 n 請你找出符合條件的最小整數,其由重新排列 n 中存在的每位數字組成,並且其值大於 n 如果不存在這樣的正整數,則返回 1 注意 返回的整數應當是乙個 32 位整數 如果存在滿足題意的答案,但不是 32 位整數 同樣返回 1 示例 1 輸入 n 12 輸出 21 示例 2 輸入 n...
496 下乙個更大元素
給定兩個 沒有重複元素 的陣列 nums1 和 nums2 其中nums1 是 nums2 的子集。找到 nums1 中每個元素在nums2 中的下乙個比其大的值。nums1 中數字 x 的下乙個更大元素是指 x 在 nums2 中對應位置的右邊的第乙個比 x 大的元素。如果不存在,對應位置輸出 1...