주어진 차원 벡터 실제 항목으로, 가장 가까운 치환 찾을 의 받는 대하여 -distance.
세부
- 더 편리 경우의 순열 사용할 수 있습니다 대신. 가장 가까운 순열이 여러 개인 경우 하나 또는 다른 방법으로 모두를 출력 할 수 있습니다.
- 두 벡터 사이 의 거리 는
- 원하는 경우 입력이 정수로만 구성된다고 가정 할 수 있습니다.
예
[0.5 1] -> [1 2], [2 1]
c*[1 1 ... 1] -> any permutation
[1 4 2 6 2] -> [1 4 3 5 2], [1 4 2 5 3]
[1 3 5 4 1] -> [2 3 5 4 1], [1 3 5 4 2]
[7 7 3 2 5 6 4 2] -> [8 7 3 2 5 6 4 1], [8 7 3 1 5 6 4 2], [7 8 3 2 5 6 4 1], [7 8 3 1 5 6 4 2]
[-2 4 5 7 -1 9 3] -> [1 4 5 6 2 7 3], [2 4 5 6 1 7 3], [1 4 5 7 2 6 3], [2 4 5 7 1 6 3]
[0 4 2 10 -1 10 5] -> [1 4 2 6 3 7 5], [1 4 3 6 2 7 5], [2 4 3 6 1 7 5], [3 4 2 6 1 7 5], [1 4 2 7 3 6 5], [1 4 3 7 2 6 5], [2 4 3 7 1 6 5], [3 4 2 7 1 6 5]
더 많은 예제를 생성하기위한 Octave 스크립트 .
v
정수일 수 있습니다. (몇 가지 예를 더 추가했습니다.)
[1.6 2]
중요한 테스트 사례입니다 (욕심 많은 알고리즘 / 사전 정렬은 잘못된 대답을 제공합니다).
v
가보다 큼을 보증0
합니까? 아니면 적어도 그렇지0
않습니까?