package jjn.carl.dp;
import java.util.*;
/** * @author Jjn * @since 2023/8/21 10:46 */public class LeetCode139 {    public boolean wordBreak(String s, List<String> wordDict) {        boolean[] dp = new boolean[s.length() + 1];        dp[0] = true;        Set<String> set = new HashSet<>(wordDict);        for (int i = 0; i <= s.length(); i++) {            for (int j = 0; j < i; j++) {                if (dp[j] && set.contains(s.substring(j, i))) {                    dp[i] = true;                    break;                }            }        }        return dp[s.length()];    }        public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        int count = scanner.nextInt();        List<String> wordDict = new ArrayList<>(count);        for (int i = 0; i < count; i++) {            wordDict.add(scanner.next());        }        String s = scanner.next();        boolean wordBreak = new LeetCode139().wordBreak(s, wordDict);        System.out.println(wordBreak);    }}
评论