JAVA : nextPermutation 다음순열
nextPermutation 구현의 아이디어 nextPermuation이란 [1,2,3,4,5] ->[1,2,3,5,4] ->[1,2,4,3,5] 처럼 현재의 상태에서 다음 순열을 찾는 알고리즘이다. 물론 조합 알고리즘을 이용해서 각각의 인덱스의 조합을 이용해서 찾아도 되지만 더빠른 넥스트 퍼뮤테이션을 사용해야 할때가 있다. 기본 순열 1 3 5 4 2 에 대해서 예를 들어보자! 아래와 같은 순열이 이어저있을 때 nextPermutation은 다음과 같은 4가지 조건을 확인 하면된다. 모든 탐색은 오른쪽에서 왼쪽으로 시작한다. 1. arr[i-1] < arr[i] 이 오른쪽에서 왼쪽으로 탐색하면서 제일처음 나오는 값을 찾는다. 2. 이제 i-1를 비교하면서 arr[i-1] < arr[j] 를 만족하는 값..