Longest Palindromic Substring에 대한 Manacher 알고리즘을 구현하는 동안 마커 기호 (주어진 문자열의 문자 사이에있는 기호)를 사용해야합니까?Manacher의 알고리즘
예인 경우 모든 256 기호가 모두 소모되면 어떻게됩니까?
Longest Palindromic Substring에 대한 Manacher 알고리즘을 구현하는 동안 마커 기호 (주어진 문자열의 문자 사이에있는 기호)를 사용해야합니까?Manacher의 알고리즘
예인 경우 모든 256 기호가 모두 소모되면 어떻게됩니까?
개인적으로 나는 그 자체의 알고리즘이 이미 충분히 어렵다고 생각합니다. 마커가 없어도 코드를 작성하면 코드가 이해할 수 없을 정도로 보입니다.
운 좋게도 요지가 없습니다. 이 알고리즘은 모든 유형의 배열에서 작동 할 수 있습니다. 문자열과 마찬가지로 문자 배열입니다. 문자열을 파싱하여 선택 인코딩에 적합한 유형의 배열로 시작하면됩니다. 데이터 유형의 크기와 관련된 복잡성은 없습니다.
Manacher 알고리즘은 palindrom의 속성을 사용하여 중심을 중심으로 대칭입니다. 홀 찾기 길이가 긴 문자열의 경우 중심 찾기가 비교적 간단합니다. 짝수 길이 문자열에 문자를 추가하면 문자열이 홀수 길이가됩니다. 따라서 문자열 길이가 일정하다면 문자를 추가해야합니다.
왜 256 개의 기호가있는 것입니까? ASCII에 대해 생각하고 있습니까? 그렇다면 왜 UTF-8, UTF-32를 사용하지 않거나 임의의 길이의 숫자를 사용하는 대신 문자 세트를 사용해야하는 이유는 무엇입니까? – Aaron