动态
public int respace(String[] dictionary, String sentence) {
int slen = sentence.length();
int[] dp = new int[slen + 1]; //1确定状态 前i个字符串最少匹配个数
dp[0] = 0;
for (int i = 1; i <= slen; i++) { //过程
dp[i] = dp[i - 1] + 1;
for (String word : dictionary) {
int wlen = word.length();
if (wlen <= i && word.equals(sentence.substring(i - wlen, i))) { //3确定边界
dp[i] = Math.min(dp[i], dp[i - wlen]); //2状态转移
}
}
}
return dp[slen];
}