동적 계획 - 구간 모델: 최소 문 자 를 추가 하여 문자열 을 답장 문자열 로 변경 합 니 다.
5010 단어 알고리즘
예제 1: 문자열 "ab", 최소 1 글자 "b" 를 추가 하여 답장 문자열 "bab" 로 바 꿉 니 다.
예제 2: "a", 최소 0 자 를 추가 하여 답장 문자열 "a" 로 바 꿉 니 다.
예제 3: "abca" 최소 1 글자 추가 "b" 를 답장 문자열 "abcba" 로 바 꿉 니 다.
예시 4: "abcd" 최소 3 개의 문 자 를 추가 하면 답장 문자열 로 변 합 니 다 "adbcbda"
동적 계획 구간 모델 을 이용 하여 설명:
def text(s=""):
n = len(s)
db = [[0 for _ in range(n)] for __ in range(n)]
for i in range(n - 1, -1, -1):
for j in range(i, n):
if i == j:
db[i][j] = 0
elif s[i] == s[j]:
db[i][j] = db[i + 1][j - 1]
else:
db[i][j] = min(db[i + 1][j], db[i][j - 1]) + 1
return db[0][-1]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.