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

找个美工做淘宝网站需要多少钱seo渠道是什么意思

找个美工做淘宝网站需要多少钱,seo渠道是什么意思,长沙点看网络科技有限公司,网站建设中毒怎么办算法-动态规划/trie树-单词拆分 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/word-break/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 动态规划 2.1 解题思路 dp[i]表示[0, i)字符串可否构建那么dp[i]可构建的条件是&…

算法-动态规划/trie树-单词拆分

1 题目概述

1.1 题目出处

https://leetcode.cn/problems/word-break/description/?envType=study-plan-v2&envId=top-interview-150

1.2 题目描述

在这里插入图片描述

2 动态规划

2.1 解题思路

  1. dp[i]表示[0, i)字符串可否构建
  2. 那么dp[i]可构建的条件是,[0,j)可构建且[j,i)包含在wordDict中
  3. 这里你可能会问,那如果是[j,i)不能直接构建,而是有wordDict种的两个单词构建怎么办?其实,因为我们是从低到高构建的动态规划,所以设k > j 且 k <i,那么dp[k] = true,因为dp[j]=true且 [j,k)在wordDict中。那么 [k, i)就是剩下的那个单词了,所以 [j,i)也可以被构建。

2.2 代码

class Solution {public boolean wordBreak(String s, List<String> wordDict) {// dp[i]表示[0, i)字符串可否构建// 那么dp[i]可构建的条件是,[0,j)可构建且[j,i)包含在wordDict中boolean[] dp = new boolean[s.length() + 1];dp[0] = true;Set<String> set = new HashSet<>(wordDict);for (int i = 1; i <= s.length(); i++) {for (int j = 0; j < i; j++) {if (dp[j] == true && set.contains(s.substring(j, i))) {dp[i] = true;break;}}}return dp[s.length()];}
}

2.3 时间复杂度

O(c*s.length)
在这里插入图片描述

2.4 空间复杂度

O( s.length)

3 trie树

3.1 解题思路

  1. 将wordDict构建trie树
  2. 将s从位置0开始往后匹配查找
  3. 如果当前位置能匹配上,继续判断是否是单词结尾,如果是且下一个单词开始的匹配也能成功,就说明能构建,返回true
  4. 其他情况继续往后匹配

3.2 代码

class Solution {Trie root = new Trie();// 记忆数组,用来快速判定该位置是否可以作为单词结尾进行拆分构建boolean[] no = new boolean[300];public boolean wordBreak(String s, List<String> wordDict) {// 将所有word插入字典树for (String word : wordDict)root.insert(word);// 从0个字符开始往后查找,只要匹配成功说明可以构建目标字符串if (root.find(s, 0)) {return true;}return false;}class Trie{public Trie[] children = new Trie[26];// 当前child代表的字符是否是单词结尾boolean isEnd = false;public void insert(String word) {if (null == word || word.length() == 0) {isEnd = true;return;}int index = word.charAt(0) - 'a';Trie child = children[index];if (null == child) {child = new Trie();children[index] = child;}child.insert(word.substring(1));}public boolean find(String s, int i) {// 快速判定当前字符位置是否可以拆分构建// 注意这里必须判定当前节点是否是root,因为我们缓存是从根节点开始的// 否则会对其他child的正常判断过程造成误判if (this == root && no[i]) {return false;}char firstC = s.charAt(i);Trie child = children[firstC - 'a'];if (null == child) {// 如果不能匹配指定位置字符,肯定不可构建if (this == root) {no[i] = true;}return false;}if (child.isEnd) {// 如果能找到目标字符,且字符是单词结尾if (i + 1 == s.length()) {// 如果// 1.已经扫描到字符串最后的字符// 就说明当前位置可以用来拆分构建目标字符串return true;} else {if (root.find(s, i+1)) {// 如果下一个字符往后的字符串能构建// 就说明当前位置可以用来拆分构建目标字符串return true;} else {// 否则说明i+1字符虽是单词结尾,但无法直接拆分构建,记录下来no[i+1] = true;}}}if (i + 1 < s.length()) {// 还未到结尾,可以继续往后查找return child.find(s, i+1);} else {// 已到单词结尾,构建失败return false;}}}
}

3.3 时间复杂度

在这里插入图片描述

3.4 空间复杂度

O(s.length)

参考

  • 循序渐进5种解法,从字典树trie回溯延伸到动态规划
http://www.tj-hxxt.cn/news/32758.html

相关文章:

  • 开展网络营销的企业网站有哪些网站推广公司哪家好
  • 沈阳做网站好的搜索引擎推广排名
  • 动漫制作专业零基础微信seo什么意思
  • 公众号怎么推广快又有效seo自学教程seo免费教程
  • 长沙新增活动轨迹搜索引擎优化的主要特征
  • 红豆梧州论坛独立站seo建站系统
  • 高校里做网站的工作军事新闻俄乌最新消息
  • 云主机放多个网站微信指数查询入口
  • 宽带动态ip如何做网站访问站长之家是什么
  • wordpress 设置常规站点地址城市分站seo
  • 建设酒类产品网站的好处网站推广是什么
  • 响应式网站案例seo概念
  • 定制网站建设公司价格百度app推广
  • 做地方门户网站怎样百度搜索一下就知道
  • 创建网站的免费软件国内怎么关键词优化网站
  • 商城网站建设策划书成都推广团队
  • 天津市建设工程信息网站安徽seo推广
  • 功能型网站建设贵州二级站seo整站优化排名
  • 网站制作三站搜一搜搜索
  • c2c模式特点seo网站关键词优化哪家好
  • 网站怎么推广最有没有推广app的平台
  • 淘宝优惠劵网站怎么做学做电商需要多少钱
  • 寮步镇网站仿做网络营销措施有哪些
  • 吉林市做网站公司新手网络推广怎么干
  • 济南集团网站建设自助建站系统
  • 淘宝店铺 发布网站建设百度搜索排名规则
  • 怎么开通网站和进行网页设计seo网站优化网站编辑招聘
  • 网站制作多少页人员优化方案怎么写
  • 微网站购物网站百度手机助手下载免费安装
  • 杭州建设局网站官网cilimao磁力猫在线搜索