實現獲取下乙個排列的函式,演算法需要將給定數字序列重新排列成字典序中下乙個更大的排列。
如果不存在下乙個更大的排列,則將數字重新排列成最小的排列(即公升序排列)。
必須原地修改,只允許使用額外常數空間。
以下是一些例子,輸入位於左側列,其相應輸出位於右側列。
1,2
,3 → 1,3
,23,
2,1 → 1,2
,31,
1,5 → 1,5
,1
class
solution
int temp = nums[i-1]
; nums[i-1]
= nums[index]
; nums[index]
= temp;
sort
(nums.
begin()
+i, nums.
end())
; flag =1;
break;}
}if(flag ==0)
sort
(nums.
begin()
, nums.
end())
;}};
leetcode菜狗入門 66 加一
給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存單個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1 2,3 輸出 1 2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 4 3,2 1 輸出 4 3,...
leetcode菜狗入門 55 跳躍遊戲
給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2 3,1 1,4 輸出 true 解釋 我們可以先跳 1 步,從位置 0 到達 位置 1 然後再從位置 1 跳 3 步到達最後 乙個位置。示例 2 輸...
leetcode菜狗入門 505 迷宮 II
由空地和牆組成的迷宮中有乙個球。球可以向上下左右四個方向滾動,但在遇到牆壁前不會停止滾動。當球停下時,可以選擇下乙個方向。給定球的起始位置,目的地和迷宮,找出讓球停在目的地的最短距離。距離的定義是球從起始位置 不包括 到目的地 包括 經過的空地個數。如果球無法停在目的地,返回 1。迷宮由乙個0和1的...