LeetCode-Word Break

原创 2015年07月06日 17:18:52

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解法:
对于s中(0,i)之间的字符:
1.若t=s.substr(0,i)在字典中,则dp[i]=true;
2.若t=s.substr(0,i)不在字典中
则对(0,i)之间的dp[ j ]( j > =1 && j < i )=1,则对t1=s.substr(j,i-j)判断是否在字典中,若在字典中则dp[i]=true;

 bool wordBreak(string s, unordered_set<string>& wordDict)
  {

        int n=s.length();
        if(n==0)
        {
            return false;
        }
        vector<bool> bp(n+1,false);
        for(int i=1;i<=n;++i)
        {
            string t=s.substr(0,i);
            bp[i]=wordDict.find(t)!=wordDict.end()?true:false;
            if(bp[i])
            {
                continue;
            }
            else
            {
                for(int j=1;j<i;++j)
                {
                    if(bp[j])
                    {
                         string t1=s.substr(j,i-j);
                         bp[i]=wordDict.find(t1)!=wordDict.end()?true:false;
                         if(bp[i])
                         {
                             break;
                         }
                    }

                }
            }
        }


        return bp[n];
 }

gdb break 断点设置

二、断点设置 gdb断点分类: 以设置断点的命令分类: breakpoint 可以根据行号、函数、条件生成断点。 watchpoint 监测变量或者表达式的值发生变...
  • dong_007_007
  • dong_007_007
  • 2014年06月18日 16:22
  • 812

Java中break的第三种用法

在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的“文明”形式!   我们知道,goto语句会破坏程序的结构,所...
  • qq_38773180
  • qq_38773180
  • 2017年07月26日 13:41
  • 792

java break语句详解 break label;语句的使用

Java break语句详解
  • nlznlz
  • nlznlz
  • 2015年09月15日 01:39
  • 4514

解读switch语句中的break

switch语句中case分支后的每个代码块后都有一条break语句,这个break语句有极其重要的意义:用于终止当前分支的执行体。如果case分支后没有使用break来终止这个分支的执行体,即使使用...
  • u011263966
  • u011263966
  • 2014年02月23日 20:29
  • 2556

break、continue关键字配合标签使用,实现跳转功能

知识点:continue和break配合标签实现跳转功能       尽管java中goto是一个保留字,但在语言中并未使用它,Java没有goto。然后java也可以完成一些类似于跳转的操作,...
  • yybj
  • yybj
  • 2014年10月14日 02:04
  • 2182

for循环的简介及break和continue的区别

1.for循环 for循环是更加简洁的循环语句,大部分情况下,for循环可以代替while循环、do-while循环。 for循环的格式为: for( 初始语句  ; 执行条件  ; 增...
  • abc5382334
  • abc5382334
  • 2013年12月14日 01:58
  • 139382

C语言for循环break语句

#include int main() { int m=0; for(int j=0;j
  • andrewgithub
  • andrewgithub
  • 2017年03月03日 20:47
  • 2066

Linux shell编程之循环控制命令 break、continue

Linux shell编程循环控制命令 break、continue
  • guoyajie1990
  • guoyajie1990
  • 2017年01月21日 11:09
  • 4139

再探java基础——break和continue的用法

再探java基础——break和continue的用法 break break可用于循环和switch...case...语句中。 用于switch...case中: 执行完满足case条件的...
  • luoweifu
  • luoweifu
  • 2013年08月31日 19:09
  • 34127

break语句的两种作用

1.有标签的时候结束的是标签后的循环public class Break { public static void main(String args[]) { out: for(int i=0;i...
  • love_java_cc
  • love_java_cc
  • 2015年01月12日 19:46
  • 974
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode-Word Break
举报原因:
原因补充:

(最多只允许输入30个字)