https://leetcode.com/problems/previous-permutation-with-one-swap
- 분명 잘못 생각한 답이 Accept 되어서 당황스럽다.
- 풀이는 이렇다. 뒤쪽부터 찾을때 가장 처음으로 역전이 나오는 위치를 기준으로 그보다 바로 작은 것 과 위치를 바꿔라
- 출제자가 잘못 생각한것이, 바꿔야 할 위치가 여러개 인경우 그것을 가장 뒤를 기준으로 바꾼 것인데, 가장 앞을 기준으로 해야 맞다.
- 나는 map을 이용해서 $O(logN)$ 풀이를 했는데, Discuss를 보니 아니나 다를까 $O(N)$ two-point 풀이가 존재한다. :( 복습하자.
1 |
|