题目链接:https://leetcode.com/problems/word-break/description/

Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words. You may assume the dictionary does not contain duplicate words.

For example, given
s = "leetcode",
dict = ["leet", "code"].

Return true because "leetcode" can be segmented as "leet code".

参考博客:http://blog.csdn.net/linhuanmars/article/details/22358863

思路:res[i]表示到字符串str数组str[0....i-1]组成的字符子串能不能用字典中的词来表示,我们需要一个长度为n的布尔数组来存储信息。然后假设我们现在拥有res[0,...,i-1]的结果,我们来获得res[i]的表达式。思路是对于每个以i为结尾的子串,看看他是不是在字典里面以及他之前的元素对应的res[j]是不是true,如果都成立,那么res[i]为true。

public boolean wordBreak(String s, Set<String> dict) {if(s==null || s.length()==0)return false;boolean[] res=new boolean[s.length()+1];res[0]=true;  //表示i在-1这个位置,这个必须设成true,因为在字符串只有一个字符的情况下会调用res[0]for(int i=0;i<s.length();i++){for(int j=0;j<=i;j++){StringBuilder str=new StringBuilder(s.substring(j, i+1));if(res[j]&& dict.contains(str.toString())){res[i+1]=true;break;}}}return res[s.length()];}

动态规划——Word Break 拆分词句【LeetCode】相关推荐

  1. [LeetCode] Word Break II 拆分词句之二

    [LeetCode] Word Break II 拆分词句之二 Given a string s and a dictionary of words dict, add spaces in s to ...

  2. Leetcode word break I II 词句拆分I和II的java实现及解析

    Leetcode word break I & II 词句拆分I和II的java实现及解析 word break i是leetcode 里面中等难度的题目而word break II 更是ha ...

  3. 【动态规划】拆分词句

    今天继续深入学习动态规划,分析"拆分词句"这一案例,解题的关键和难点主要在于问题状态的分析. 牛客链接 题目:给定一个字符串s和一组单词dict,判断s是否可以用空格分割成一个单词 ...

  4. leetcode 140. Word Break II | 140. 单词拆分 II(动态规划)

    题目 https://leetcode.com/problems/word-break-ii/ 题解 由 leetcode 139. Word Break | 139. 单词拆分(动态规划) 改造而来 ...

  5. 【Leetcode】139. 拆分词句(Word Break)

    Leetcode - 139 Word Break (Medium) 题目描述:给定一个字符串 s 与字典 wordDict,判断 s 是否能拆分成 wordDict 中的子字符串. Input: s ...

  6. LeetCode——Word Break

    LeetCode--Word Break Question Given a non-empty string s and a dictionary wordDict containing a list ...

  7. 【记忆化递归+DP】LeetCode 139. Word Break

    LeetCode 139. Word Break Solution1: 记忆化递归的典型套路题 参考网址:https://zxi.mytechroad.com/blog/leetcode/leetco ...

  8. 【DFS + 记忆化递归】LeetCode 140. Word Break II

    LeetCode 140. Word Break II Solution1:我的答案 纯DFS,在第31个case时超时,还是记录一下.. class Solution { // DFS public ...

  9. LeetCode Word Break II

    Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each ...

最新文章

  1. (笔记)Linux Root下的.gvfs出现异常解决办法
  2. 图形算法 - 模糊函数比较,Blur Function Compare
  3. Python 爬虫进阶篇-4行代码实现爬取指定网站中的全部图片实例演示及原理剖析
  4. easyui 动态设置单元格控件_动态显示最大最小值的折线图
  5. php云服务器买什么系统吗,php云服务器买什么系统
  6. VMware10上新建虚拟机步骤图解
  7. .net中如何发送HTTP请求网络资源
  8. linux系统安装与初用
  9. 深入了解帆软报表系统的启动过程三
  10. linux下openssh5.3漏洞,linux的低版本中openssh三大漏洞的分析及修复方法
  11. 真正的正数、负数、整数等正则表达式,网上好多都是错的
  12. CANTest 测试软件基本操作介绍
  13. 家具从设计到生产一步完成 有屋拆单 SU草图拆单 全屋定制拆单 衣柜橱柜拆单 办公家具设计拆单 展柜定制拆单 宠物家具定制设计拆单软件 有屋软件
  14. 使用管道--过滤器风格设计软件
  15. 什么是AOP(面向切片编程)
  16. mongodb敏感数据加解密
  17. 再谈Dominator Tree的计算
  18. RepeatMasker使用
  19. rendered使用效果
  20. oa系统云服务器租赁,新睿云小编手把手教您用云服务器安装办公OA系统

热门文章

  1. java生成二维码最简单方法
  2. 探索性数据分析(EDA)
  3. 一级建造师课件视频一级建造师考试攻略分享
  4. 老板,今年有哪些大众好电影?(nodejs豆瓣电影爬虫)
  5. 常用分析模型 ---用户行为分析漏斗分析模型
  6. 第八章(1.1)总结与展望——AI 领域最稀缺的人才:人工智能架构师
  7. 数据传输中的 奇校验、偶校验
  8. 2020-11-10halcon学习笔记,算子报错
  9. GitHub连击500天:让理想的编程成为习惯
  10. IO NIO NIO2(AIO) 概述