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

电子商务网站建设 教材短视频推广

电子商务网站建设 教材,短视频推广,没有网站可以做cpc吗,东莞网站建设品牌目录 290. 单词规律 Word Pattern 🌟  291. 单词规律 II Word Pattern ii 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 …

目录

290. 单词规律 Word Pattern  🌟 

291. 单词规律 II Word Pattern ii  🌟🌟

🌟 每日一练刷题专栏 🌟

Rust每日一练 专栏

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


290. 单词规律 Word Pattern

给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。

这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

示例1:

输入: pattern = "abba", str = "dog cat cat dog"
输出: true

示例 2:

输入:pattern = "abba", str = "dog cat cat fish"
输出: false

示例 3:

输入: pattern = "aaaa", str = "dog cat cat dog"
输出: false

提示:

  • 1 <= pattern.length <= 300
  • pattern 只包含小写英文字母
  • 1 <= s.length <= 3000
  • s 只包含小写英文字母和 ' '
  • s 不包含 任何前导或尾随对空格
  • s 中每个单词都被 单个空格 分隔

代码1:

package mainimport ("fmt""strings"
)func wordPattern(pattern string, s string) bool {words := strings.Split(s, " ")if len(pattern) != len(words) {return false}p2s := make(map[byte]string)s2p := make(map[string]byte)for i := 0; i < len(pattern); i++ {p, w := pattern[i], words[i]if s, ok := p2s[p]; ok {if s != w {return false}} else {if _, ok := s2p[w]; ok {return false}p2s[p] = ws2p[w] = p}}return true
}func main() {pattern := "abba"s := "dog cat cat dog"fmt.Println(wordPattern(pattern, s))pattern = "abba"s = "dog cat cat fish"fmt.Println(wordPattern(pattern, s))pattern = "aaaa"s = "dog cat cat dog"fmt.Println(wordPattern(pattern, s))
}

代码2: 

package mainimport ("fmt""strings"
)func wordPattern(pattern string, s string) bool {words := strings.Split(s, " ")if len(pattern) != len(words) {return false}p2s := make(map[byte]string)used := make(map[string]bool)for i := 0; i < len(pattern); i++ {p, w := pattern[i], words[i]if s, ok := p2s[p]; ok {if s != w {return false}} else {if used[w] {return false}p2s[p] = wused[w] = true}}return true
}func main() {pattern := "abba"s := "dog cat cat dog"fmt.Println(wordPattern(pattern, s))pattern = "abba"s = "dog cat cat fish"fmt.Println(wordPattern(pattern, s))pattern = "aaaa"s = "dog cat cat dog"fmt.Println(wordPattern(pattern, s))
}

输出:

true
false
false


291. 单词规律 II Word Pattern ii

给你一种规律 pattern 和一个字符串 str,请你判断 str 是否遵循其相同的规律。

这里我们指的是 完全遵循,例如 pattern  里的每个字母和字符串  str  中每个 非空 单词之间,存在着 双射 的对应规律。双射 意味着映射双方一一对应,不会存在两个字符映射到同一个字符串,也不会存在一个字符分别映射到两个不同的字符串。

示例1:

输入: pattern = "abab", str = "redblueredblue"
输出: true
解释:一种可能的映射如下:'a'->"red",'b'->"blue"

示例 2:

输入: pattern = "aaaa", str = "asdasdasdasd"
输出: true
解释:一种可能的映射如下:'a'->"asd"

示例 3:

输入: pattern = "abab", str = "asdasdasdasd"
输出: true
解释:一种可能的映射如下:'a'->"a",'b'->"sdasd"
注意 'a' 和 'b' 不能同时映射到 "asd",因为这里的映射是一种双射。

示例 4:

输入: pattern = "aabb", str = "xyzabcxzyabc"
输出: false

提示:

  • 1 <= pattern.length <= 300
  • pattern 和 str 都只会包含小写字母
  • 1 <= str.length <= 3000

代码1: 回溯法

package mainimport ("fmt""strings"
)func wordPatternMatch(pattern string, str string) bool {return backtrack(pattern, str, make(map[string]string), make(map[string]bool))
}func backtrack(pattern, str string, dict map[string]string, used map[string]bool) bool {if pattern == "" {return str == ""}char := string(pattern[0])if word, ok := dict[char]; ok {if !strings.HasPrefix(str, word) {return false}return backtrack(pattern[1:], str[len(word):], dict, used)}for i := 1; i <= len(str); i++ {word := str[:i]if used[word] {continue}dict[char] = wordused[word] = trueif backtrack(pattern[1:], str[i:], dict, used) {return true}delete(dict, char)delete(used, word)}return false
}func main() {fmt.Println(wordPatternMatch("abab", "redblueredblue"))fmt.Println(wordPatternMatch("aaaa", "asdasdasdasd"))fmt.Println(wordPatternMatch("abab", "asdasdasdasd"))fmt.Println(wordPatternMatch("aabb", "xyzabcxzyabc"))
}

代码2: 哈希表

package mainimport ("fmt""strings"
)func wordPatternMatch(pattern string, s string) bool {p2s := make(map[byte]string)s2p := make(map[string]byte)var match func(int, int) boolmatch = func(pi, si int) bool {if pi == len(pattern) {return si == len(s)}p, ok := p2s[pattern[pi]]if ok {if !strings.HasPrefix(s[si:], p) {return false}return match(pi+1, si+len(p))}var word stringfor i := si; i < len(s); i++ {word = s[si : i+1]_, ok = s2p[word]if !ok {p2s[pattern[pi]] = words2p[word] = pattern[pi]if match(pi+1, i+1) {return true}delete(p2s, pattern[pi])delete(s2p, word)}}return false}return match(0, 0)
}func main() {fmt.Println(wordPatternMatch("abab", "redblueredblue"))fmt.Println(wordPatternMatch("aaaa", "asdasdasdasd"))fmt.Println(wordPatternMatch("abab", "asdasdasdasd"))fmt.Println(wordPatternMatch("aabb", "xyzabcxzyabc"))
}

输出:

true
true
true
false


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

评论,你的意见是我进步的财富!  

 主页:https://hannyang.blog.csdn.net/ 

Rust每日一练 专栏

(2023.5.16~)更新中...

Golang每日一练 专栏

(2023.3.11~)更新中...

Python每日一练 专栏

(2023.2.18~2023.5.18)暂停更

C/C++每日一练 专栏

(2023.2.18~2023.5.18)暂停更

Java每日一练 专栏

(2023.3.11~2023.5.18)暂停更

http://www.ds6.com.cn/news/92457.html

相关文章:

  • 怎么在手机上设计网站网站建设营销型
  • 国企有没有必要建设网站重庆森林台词
  • 投诉做单骗子网站最近重大新闻头条
  • 网站建设html代码如何添加google框架一键安装
  • 建筑工程网站搭建如何建立网站平台
  • 网站建设如何做用户名密码百度账号客服人工电话
  • 网站建设与制作实现精准营销济宁百度推广价格
  • 信用网站标准化建设方案中国百强城市榜单
  • 哪里有微信网站建设seo 重庆
  • 燃烧学课程网站建设app运营推广策划方案
  • 广州专业的网站建设网络营销的10个特点
  • 黄石做网站要多少钱浏览器下载安装2023版本
  • 哈尔滨市最新疫情东莞seo培训
  • wordpress查看访问ip长沙专业竞价优化公司
  • 做网站项目需要多少钱seo网站查询
  • 51做网站网站seo是啥
  • 成都网站建设 四川冠辰百度网页版链接地址
  • 盗取dede系统做的网站模板青岛seo排名收费
  • 北京网站优化排名推广互动营销公司
  • 有没有专门做毕业设计的网站广告联盟自动挂机赚钱
  • 做软件常用的网站有哪些朝阳网站建设
  • 适合批发零售的进销存软件seo首页网站
  • 大理 网站建设日照seo公司
  • wordpress不同页面侧边栏站内seo优化
  • 丹阳网络营销河北网站seo外包
  • 平度建设局网站链接买卖价格
  • 做淘宝优惠网站步骤互联网营销推广公司
  • 提高网站权重工具windows优化大师和鲁大师
  • 陕西百度公司深圳网站优化网站
  • 做网站的客户哪里找网络广告案例以及分析