You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
이렇게 간단하게 풀리긴 하지만, 실제로 문제에서 의도한 바는 next_permutation함수를 사용자 정의로 구현해봐라! 느낌이라 다시 접근
classSolution {
public:voidnextPermutation(vector<int>& nums) {
int n = nums.size();
int i = n - 2;
// Step 1: 오른쪽에서부터 첫 감소하는 위치를 찾기while (i >= 0 && nums[i] >= nums[i + 1]) {
i--;
}
if (i >= 0) {
// Step 2: 그 값보다 큰 값 중 가장 작은 값과 교체int j = n - 1;
while (nums[j] <= nums[i]) {
j--;
}
swap(nums[i], nums[j]);
}
// Step 3: i 이후의 배열을 오름차순으로 변경reverse(nums.begin() + i + 1, nums.end());
}
};
The text was updated successfully, but these errors were encountered:
next_permutation
함수를 사용자 정의로 구현해봐라! 느낌이라 다시 접근The text was updated successfully, but these errors were encountered: