LetCode 매일 한 문제:분사1
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, given s ="leetcode", dict =["leet", "code"]. Return true because "leetcode"can be segmented as"leet code".
문제 분석
전형적인 동적 기획은 dp[i]를 설정하여 s의 0에서 i위가 나눌 수 있는지 여부를 나타낸다. 그러면 상태 이동 방정식은 다음과 같다. dp[i]=dp[j]가 나눌 수 있는지+s[j,i]가 나눌 수 있는지, 그 중에서 j의 수치 범위는 [0,i] 사이이기 때문에 우리는 s[j,i]가 dict에 포함되었는지 판단하면 된다.
코드 구현
public boolean wordBreak(String s, Set dict) {
int len = s.length();
boolean[] dp = new boolean[len + 1];//dp[i] s 0 i
dp[0] = true;
for (int i = 1; i <= len; i++)
for (int j = 0; j < i; j++) {
if (dp[j] && dict.contains(s.substring(j, i))) {
dp[i] = true;
}
}
return dp[len];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.