zoukankan      html  css  js  c++  java
  • Leetcode Word Break

    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".


    解题思路:

    Dynamic Programming.

    本题我自己怎么也没想清楚,看了答案才理解。好好记住!


    Java code:

    public class Solution {
        public boolean wordBreak(String s, Set<String> wordDict) {
            if(s == null) {
                return false;
            }
            boolean[] dp = new  boolean[s.length()+1];
            dp[0] = true;
            for(int i = 1; i <= s.length(); i++){
                for(int j = 0; j < i; j++) {
                    if(dp[j] && wordDict.contains(s.substring(j, i))){
                        dp[i] = true;
                    }
                }
            }
            return dp[s.length()];
        }
    }

    Reference:

    1. https://leetcode.com/discuss/63212/java-solution-using-dp

  • 相关阅读:
    第六周 8.23-8.29
    Go-ethereum源码解析-Part I
    Go语言
    UVa Live 4725
    UVa 11134
    UVa 11100
    UVa 11627
    UVa Live 4794
    UVa LA 4254
    UVa 10905
  • 原文地址:https://www.cnblogs.com/anne-vista/p/4896584.html
Copyright © 2011-2022 走看看