博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode -- word break
阅读量:5732 次
发布时间:2019-06-18

本文共 1086 字,大约阅读时间需要 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".

 

[解题思路]

DP: ans[i]表示s的下标0~i子串是否可以被dict表示

ans[i] = 存在k满足ans[k]&dict.contains(s.substr(k+1, i-k))==true即可. 

 

1 bool Solution::wordBreak(std::string s, std::tr1::unordered_set
&dict) 2 { 3 if (s.length() == 0 || dict.size()==0) 4 return false; 5 int length = s.length(); 6 bool ans[length]; 7 for (int i = 0; i < length; i++) 8 ans[i] = false; 9 for (int i = 0; i < length; i++){10 if (dict.find(s.substr(0, i+1)) != dict.end())11 ans[i] = true;12 for (int j = 0; j < i; j++)13 if (ans[j]&&dict.find(s.substr(j+1, i-j))!=dict.end()){14 ans[i] = true;15 break;16 }17 }18 return ans[length-1];19 }

 

转载于:https://www.cnblogs.com/taizy/p/3904979.html

你可能感兴趣的文章
android 读取json数据(遍历JSONObject和JSONArray)
查看>>
pyjamas build AJAX apps in Python (like Google did for Java)
查看>>
<JavaScript语言精粹>-读书笔记(一)
查看>>
NPM教程
查看>>
Java学习笔记(40)——Java集合12之fail-fast
查看>>
Centos 配置IP的方式
查看>>
Go 的吉祥物,萌不萌
查看>>
【iOS】AFN网络请求通过获取cookies保持会话
查看>>
Java 的swing.GroupLayout布局管理器的使用方法和实例
查看>>
Android中Activity和Fragment的生命周期的对比
查看>>
C++Primer_笔记_异常处理
查看>>
分区交换 alter table exchange partition 在线表 历史表交换
查看>>
思科三层交换 HSRP 热备 配置方法
查看>>
zabbix详解:(二)添加被监控机器
查看>>
设计模式单列
查看>>
人像模式的灯光效果?iPhone 8开挂袭来
查看>>
Linux下MongoDB安装与配置
查看>>
DSL配置(PPPOA)
查看>>
WEBRTC执行流程
查看>>
Spring Boot 入门系列
查看>>