英语单词记忆法拆分2000个_usually拆分记忆

英语单词记忆法拆分2000个_usually拆分记忆给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = “catsanddog”wordDict = [“cat”, “cats”, “and”, “sand”, “dog”]输出:[ “cats and dog”, “cat sand dog”]示例 2:输入:s = “

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。

说明:

分隔时可以重复使用字典中的单词。
你可以假设字典中没有重复的单词。

示例 1:

输入:
s = "catsanddog"
wordDict = ["cat", "cats", "and", "sand", "dog"]
输出:
[
  "cats and dog",
  "cat sand dog"
]
示例 2:

输入:
s = "pineapplepenapple"
wordDict = ["apple", "pen", "applepen", "pine", "pineapple"]
输出:
[
  "pine apple pen apple",
  "pineapple pen apple",
  "pine applepen apple"
]
解释: 注意你可以重复使用字典中的单词。
示例 3:

输入:
s = "catsandog"
wordDict = ["cats", "dog", "sand", "and", "cat"]
输出:
[]

题解
记忆化搜索+hash

class Solution { 

public:
string t;
unordered_map<string,bool>mm;
int Min,Max;
vector<string> rem[10000];
int max(int a,int b){ 

return a > b ? a : b;
}
int min(int a,int b){ 

return a < b ? a : b;
}
void dfs(int u,string &s){ 

if(rem[u].size() != 0)return;
if(u == s.size()){ 

rem[u].push_back("");
return;
}
for(int len = Min;len <= Max;len ++){ 

if(s.size() - u >= len && mm.find(s.substr(u,len)) != mm.end()){ 

dfs(u + len,s);
for(auto &line : rem[u + len]){ 

rem[u].push_back(s.substr(u,len) + " " + line);
}
}
}
}
vector<string> wordBreak(string s, vector<string>& wordDict) { 

t = "";
Min = 0x3f3f3f3f,Max = 0;
for(int i = 0;i < wordDict.size();i ++){ 

Min = min(wordDict[i].size(),Min);
Max = max(wordDict[i].size(),Max);
}
for(auto &s : wordDict){ 

mm[s] = true;
}
dfs(0,s);
for(auto & s : rem[0]){ 

s.erase(s.size() - 1,1);
}
return rem[0];
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168641.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 函数类型_C语言函数类型

    函数类型_C语言函数类型函数类型在ECMAScript中有三种函数类型:函数声明,函数表达式和函数构造器创建的函数。每一种都有自己的特点。1.函数声明这种函数类型的主要特点在于它们仅仅影响变量对象。该特点也解释了第二

  • 互联网服务端测试之RPC接口测试「建议收藏」

    互联网服务端测试之RPC接口测试「建议收藏」开篇碎碎念:18年的时候写过一篇《互联网服务端测试是个啥(入门科普)》(指路https://blog.csdn.net/wangyueshu/article/details/81944250),主要面向的是那些没有接触过服务端测试,尤其是已有端上测试经验、而面对服务端测试时急需转换测试思维的那部分读者。3年过去了,转一圈再回来做服务端测试时,内容也有了扩展。原篇的接口更多的是指代HTTP接口,服务也更多的指代数据服务。而随着算法模型应用的逐渐深入,服务扩展到了模型、策…

    2022年10月13日
  • 修改mysql的密码_sql数据库修改密码

    修改mysql的密码_sql数据库修改密码MySQL是一个关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。搭配PHP和Apache可组成良好的开发环境。因此用的很广泛。很多人都会遇到MySQL需要修改密码的情况,比如密码太简单、忘记密码等等。这里我就教大家几种修改MySQL密码的方法。这里以修改root密码为例,操作系统为windows。注意:修改MySQL是需要有mysql里的root权限的,

  • 虚拟机桥接模式不能上网

    虚拟机桥接模式不能上网首先我的主机的有线连接是正常的,如下: 但是我的虚拟机的网络连接模式为桥接模式,但是却上不了网,如下:  我们来确认下,我的虚拟机的网络模式,如下: 设置全部都是对的,但是为什么就是不能上网呢?后来我发现,原来是虚拟网络编辑器的设置有问题,如下: 我们点击“虚拟网络编辑器”,如下: 由上图,我们可以知道,我的“桥…

  • 微信支付申请退款步骤_微信怎么没有退款提示

    微信支付申请退款步骤_微信怎么没有退款提示本文是【浅析微信支付】系列文章的第八篇,主要讲解商户如何处理微信申请退款、退款回调、查询退款接口,其中有一些坑的地方,会着重强调。浅析微信支付系列已经更新七篇了哟~,没有看过的朋友们可以看一下哦。

  • .deb版本cuda安装。

    .deb版本cuda安装。1.先记录下驱动问题:1).run形式安装cuda。清理原有显卡驱动后,先安装自己显卡对应的驱动,在步骤中出现”Wouldyouliketorunthenvidia-xconfigutilitytoautomaticallyupdateyourXconfigurationfile…”时,选择No。(这里是cuda自带的旧版本的驱动)。我安装cuda8.0时,是…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号