소개
정의에 따라 고유 식별자는 고유해야합니다. 동일한 식별자가 여러 개 있으면 예기치 않은 데이터가 검색됩니다. 그러나 데이터가 여러 소스에서 동시에 도착하면 고유성을 보장하기가 어려울 수 있습니다. 식별자 목록을 고유 화하는 함수를 작성하십시오.
이것은 내가 쓴 최악의 퍼즐 보풀 일지 모르지만 아이디어를 얻습니다.
요구 사항
0 개 이상의 양의 정수 목록이 제공되면 처음부터 끝까지 각 숫자에 다음 규칙을 적용하십시오.
- 번호가 첫 번째 종류 인 경우 유지하십시오.
- 숫자가 이전에 발견 된 경우 전체 입력 목록 또는 기존 출력에서 찾을 수없는 최저 양의 정수로 바꾸십시오.
솔루션의 경우 :
- 해결책은 프로그램 또는 기능 일 수 있습니다.
- 입력은 문자열, 배열, 인수로 전달 된 입력 또는 키보드 입력일 수 있습니다.
- 출력은 문자열, 배열 또는 화면에 인쇄 될 수 있습니다.
- 출력 목록의 모든 숫자는 고유합니다.
가정
- 입력 목록이 깨끗합니다. 양의 정수만 포함합니다.
- 양의 정수는 1에서 2 31 -1 사이입니다.
- 프로그램 변수에 256MB 미만의 메모리를 사용할 수 있습니다. (기본적으로 2,147,483,648- 요소 배열은 허용되지 않습니다.)
테스트 사례
Input: empty
Output: empty
Input: 5
Output: 5
Input: 1, 4, 2, 5, 3, 6
Output: 1, 4, 2, 5, 3, 6
Input: 3, 3, 3, 3, 3, 3
Output: 3, 1, 2, 4, 5, 6
Input: 6, 6, 4, 4, 2, 2
Output: 6, 1, 4, 3, 2, 5
Input: 2147483647, 2, 2147483647, 2
Output: 2147483647, 2, 1, 3
채점
간단한 코드 골프. 다음 주이 시간까지 가장 낮은 바이트 수가 이깁니다.
6, 6, ...
포기 해서는 안 6, 1, ...
됩니까?
6, 6, 4, 4, 2, 2
테스트 케이스는 아담의 해석을 확인 : 예상 출력은 6, 1, 4, 3, 2, 5
, 그리고 6, 1, 4, 2, 3, 5
.
6, 6, 1, 2, 3, 4, 5
→6, 7, 1, 2, 3, 4, 5