목록Algorithm (1)
N coding
Manacher's algorithm
Manacher's Algorithm 시간복잡도 O(N) 문자열의 길이 N만큼의 숫자 배열 A를 만든다. 이 때 A[i]는 i를 중심으로 한 팰린드롬의 최대길이이다. -> str[i-a[i] : i + a[i]] 는 팰린드롬 문자열이고 str[i-a[i]-1 : i + a[i]+1] 은 팰린드롬이 아니다. 알고리즘 진행 1. i 는 0 ~ N-1까지 진행된다. 2. j r 인 경우, i 이전의 팰린드롬 중 i를 포함하는 팰린드롬이 없다. A[i]는 0 i str[h + A[h] +1] != str[h - A..
Algorithm
2018. 9. 2. 15:18