博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode Word Break
阅读量:6835 次
发布时间:2019-06-26

本文共 983 字,大约阅读时间需要 3 分钟。

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

对于这道题,最终结果是由子问题决定的,而上一步的问题是由下一步来决定,因此可以考虑用动态规划的思想来解决。

首先需要建立一张表,用来保存当前子问题的状态,这里我们用hashmap来存储

Map<Integer,Boolean> map=new HashMap<Integer,Boolean>();

key用来存储从上一个分割点为止到这个分割点的词是存在于字典中的。如果是,我们就把值设置为true。

最后检验len的值是否为true,如果为是则说明该字符串可切分。

1 package Word.Break; 2  3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 import java.util.Map; 7 import java.util.Map.Entry; 8 import java.util.Set; 9 10 public class WordBreak {11 public boolean wordBreak(String s, Set
dict) {12 int len=s.length();13 Map
map=new HashMap
();14 map.put(0, true);15 for(int i=1;i

 

转载于:https://www.cnblogs.com/criseRabbit/p/4116672.html

你可能感兴趣的文章
VC:键盘钩子函数
查看>>
englis translate,word
查看>>
ConText
查看>>
java异常捕获
查看>>
Android Service的绑定 基础概念篇
查看>>
MVC项目开发中那些用到的知识点(登录权限认证)
查看>>
错误总结
查看>>
Delphi7 (第一天:类的编写)续
查看>>
单片机基础
查看>>
ZOJ 1027 Human Gene Functions(动态规划LCS)
查看>>
变量、中文-「译」javascript 的 12 个怪癖(quirks)-by小雨
查看>>
合作开发用到的几个 设计模式
查看>>
[iOS] 在UIToolBar中增加UILabel等控件(xib/storyboard图形界面方式)
查看>>
宋体节点hdoj 1520 Anniversary party(树形dp)
查看>>
优化网站设计(七):避免在CSS中使用表达式
查看>>
让你的网站拥有微博(weibo.com)关注图标
查看>>
hadoop基本命令
查看>>
若不能连接到sql server的localhost
查看>>
JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)
查看>>
Winform窗口里的嵌入WPF的UserControl,关闭Winform父窗体的方法
查看>>