当前位置: 首页 > news >正文

温州网页网站制作徐州学习网站建设

温州网页网站制作,徐州学习网站建设,周到的商城网站建设,做婚庆网站的功能定位思路:动态规划,设dp[]记录当前字符能不能通过字典里的单词到达,双层循环,外层循环遍历字符串每一个字符,内层遍历当前i字符之前的所有以i字符结尾的子串 例如字符串:leetcode i遍历到了t 那么内层循环就…

 思路:动态规划,设dp[]记录当前字符能不能通过字典里的单词到达,双层循环,外层循环遍历字符串每一个字符,内层遍历当前i字符之前的所有以i字符结尾的子串

例如字符串:leetcode

i遍历到了t

那么内层循环就会遍历:leet、eet、et、t

然后判断这些子串中有没有与字典里的单词匹配,若匹配且当前dp[j]为真,则dp[i]为真

判断dp[j] 是因为若dp[j]为真,则代表j字符可以到达,那么当前字符子串以j为起始并且字典里存在此子串,所以当前子串的结尾处也可以到达(dp[i] = true)

dp[0] 赋初值true,因为若子串起始字符为第一个字符,那么从第一个字符出发的子串当然是可以的

最后判断dp[]最后一个位置是否为真,若为真则说明此字符串可以通过字典里的单词拼凑到达最后一个字符

一开始的笨办法,虽然笨且慢,不过可能更便于理解:

class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {int len = s.size();auto dp = vector<bool> (len + 1);    dp[0] = true;    //dp[0]赋值for(int i = 1; i <= len; i++){     //外层循环遍历字符串int sw = true;    //开关,若内层循环确定当前字符可到达则进行下一个字符for(int j = 0; j < i && sw; j++){    //内层循环遍历i字符前每一个以i字符结尾的子串for(auto word:wordDict){    //在字典里面找有没有此子串if(dp[j] && (word.compare(s.substr(j, i - j)) == 0)){    dp[i] = true;    //如果子串存在可到达则i字符后一个字符也可到达sw = false;    //如果当前字符可到达则无需继续遍历子串}}}}return dp[len];}
};

加入unordered_set之后快了很多

class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {int len = s.size();auto dp = vector<bool> (len + 1);dp[0] = true;auto wordset = unordered_set <string> ();for(auto word : wordDict){wordset.insert(word);}for(int i = 1; i <= len; i++){for(int j = 0; j < i; j++){if(dp[j] && wordset.find(s.substr(j, i - j)) != wordset.end()){dp[i] = true;break;}}}return dp[len];}
};

思路不变,unordered_set就是一个key为值的字典,并且unordered_set中find()若找不到对应元素,会返回.end()

http://www.yayakq.cn/news/289408/

相关文章:

  • 云浮网站网站建设金融专业主要学什么
  • 常州网站建设公司平台新鸿儒网站
  • 电子商务网站开发代码设计必知的设计网站 039
  • 手机导航网站模板wordpress插件ssh
  • 怎么在各大网站做推广wordpress如何修改
  • 杭州网站建设seo中山市西区建设局网站
  • 用织梦系统做网站产权wordpress register位置
  • 镇江网站建设制作个人网上注册公司入口
  • 网站架构设计面试技巧如何制作班级网站
  • 什么叫手机网站好用的a站
  • 张家港外贸型网站制作php网站程序怎么安装
  • 网站域名怎么查南宁做网站找哪家公司
  • 一个网站两个域名吗wordpress搬家lnmp
  • 网站建设 有必要吗建设网站比较好
  • 微信公众号视频网站开发千锋教育学费一览表
  • 网站的现状响水县住房建设局网站
  • h5网站是什么意思网站整站html
  • 哈尔滨网站专业制作网页框架结构有哪些
  • 住房建设厅网站家教网站建设
  • php网站开发事例网站用户运营
  • 肥城网站建设价格python开发app
  • 制造网站的软件中国建设银行掌上银行官方网站
  • 成都智能建站模板公司起名字大全免费好听
  • 卖鱼的亲戚要我帮忙做网站六安网站制作金狮
  • 阳谷网站开发东莞有多少个镇
  • 安康网站建设公司辽宁省住房和城乡建设厅网站
  • 柳州市建设投资开发公司网站做商城网站要请程序员吗
  • 创建建站分销系统设计
  • 建立电子商务网站如何把网站做好
  • 石家庄兼职做网站做钢管的去什么网站发信息