664. 이상한 프린터
난이도:어려움
주제:문자열, 동적 프로그래밍
다음 두 가지 특별한 속성을 가진 이상한 프린터가 있습니다:
문자열 s가 주어지면프린터가 인쇄하는 데 필요한 최소 회전 수.
를 반환합니다.예 1:
예 2:
제약조건:
해결책:
동적 프로그래밍을 사용할 수 있습니다. 문자열을 하위 문제로 나누어 인쇄하는 데 필요한 회전 수를 최소화하는 것이 아이디어입니다.
동적 프로그래밍을 사용하면 문제를 해결할 수 있습니다. 아이디어는 s의 모든 하위 문자열을 인쇄하는 데 필요한 최소 회전 수를 결정하는 더 작은 하위 문제로 문제를 나누는 것입니다. 우리는 다음 관찰을 활용할 수 있습니다:
dp[i][j]를 하위 문자열 s[i:j+1]을 인쇄하는 데 필요한 최소 회전 수로 설정합니다.
이 솔루션을 PHP로 구현해 보겠습니다:664. 이상한 프린터
DP 배열:2D 배열 dp[i][j]는 인덱스 i에서 j로 하위 문자열을 인쇄하는 데 필요한 최소 회전 수를 나타냅니다.
초기화:한 번에 한 문자를 인쇄할 수 있기 때문에 dp[i][i] = 1로 초기화합니다.
DP 테이블 채우기:
결과:전체 문자열을 인쇄하는 데 필요한 최소 회전 수는 dp[0][$n - 1]에 저장됩니다.
# #연락처 링크
이 시리즈가 도움이 되었다면repository에 별점을 주거나 좋아하는 소셜 네트워크에 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이런 더 유용한 콘텐츠를 원하시면 저를 팔로우해주세요:위 내용은 . 이상한 프린터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!