LeetCode 31 下一個排列

2022-06-23 20:51:10 字數 646 閱讀 7667

實現獲取 下一個排列 的函式,演算法需要將給定數字序列重新排列成字典序中下一個更大的排列。

如果不存在下一個更大的排列,則將數字重新排列成最小的排列(即升序排列)。

必須 原地 修改,只允許使用額外常數空間。

輸入:nums = [1,2,3]

輸出:[1,3,2]

輸入:nums = [3,2,1]

輸出:[1,2,3]

輸入:nums = [1,1,5]

輸出:[1,5,1]

輸入:nums = [1]

輸出:[1]

class solution 

// 如果不是最後一個排列

if(i >= 0)

// 反轉j到最後的元素

for(int left = j, right = nums.length -1; left < right; left++, right--)

}}//class test;

// test.nextpermutation(nums);

// system.out.println(arrays.tostring(nums));

// }

//}

leetcode 31 下一個排列

實現獲取下一個排列的函式,演算法需要將給定數字序列重新排列成字典序中下一個更大的排列。 如果不存在下一個更大的排列,則將數字重新排列成最小的...

LeetCode(31) 下一個排列

medium! 題目描述 請仔細讀題 實現獲取下一個排列的函式,演算法需要將給定數字序列重新排列成字典序中下一個更大的排列。 如果不存在下一個更大的排列,則將數字重新排列成最小的排列 即升序排列 。 必須原地修改,只允許使用額外常數空間。 以下是一些例子,輸入位於左側列,其相應輸出位於右側列。 1 2...

Leetcode題目31 下一個排列(中等)

題目描述 實現獲取下一個排列的函式,演算法需要將給定數字序列重新排列成字典序中下一個更大的排列。 如果不存在下一個更大的排列,則將數字重新排...