길이가 최대 25자인 문자 A-Z로 구성된 입력 문자열의 경우 입력 문자열의 모든 가능한 분석기 목록을 알파벳 순으로 정렬하여 색인을 출력합니다. 입력 문자열은 대소 문자를 구분하지 않습니다. 입력 문자를 반복 할 수 있습니다. 앱은 500ms 이내에 완료되고 1GB 미만의 메모리를 차지해야합니다.Anagram 색인 계산
언뜻보기에 이것은 임의 정밀도 수학 라이브러리 없이는 불가능한 것처럼 보입니다. 최악의 경우 25 개의 고유 한 문자가 입력되므로 25! 가능한 anagrams. 25! 2^64보다 큰 차수입니다. 인덱스와 문자열 사이의 관계가 직접적이지 않고 계산되어야하기 때문에 단순히 문자열을 숫자로 변환 할 수있는 방법이 없습니다.
나는 이전에 얻은 인터뷰 도전에서 비롯된 것입니다. 나는 그 (것)들을위한 해결책을 생각해 낼 수없고 참으로 좋은 해결책이다는 것을 주장했다 ...
내가 여기에서 정말로 묻는 질문은 임의 정밀도 수학 라이브러리를 사용하지 않고 이것을 수행하는 방법이므로 중복되지 않습니다. –
그리고 확실한 대답은 : 대답 *이 2보다 커질 수 있기 때문에 불가능합니다.^64 – Chronial