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

八里庄网站建设app注册

八里庄网站建设,app注册,kk网龙岩,中江门户网站Leetcode 3036. Number of Subarrays That Match a Pattern II 1. 解题思路2. 代码实现 3036. Number of Subarrays That Match a Pattern II 1. 解题思路 这一题其实有点水,因为本质上还是一道套路题目,和前两周的两道题目一样,都是考察的…
  • Leetcode 3036. Number of Subarrays That Match a Pattern II
    • 1. 解题思路
    • 2. 代码实现
  • 3036. Number of Subarrays That Match a Pattern II

1. 解题思路

这一题其实有点水,因为本质上还是一道套路题目,和前两周的两道题目一样,都是考察的z算法:

  1. Leetcode 3031. Minimum Time to Revert Word to Initial State II
  2. Leetcode 3008. Find Beautiful Indices in the Given Array II

而关于z算法,可以参考我之前写的博客经典算法:Z算法(z algorithm),这里就不过多展开了。

这里,我们只来看一下要怎么用z算法来完成这道题即可。

显然这个题目本质上还是一个模式匹配的题目,我们将原始数组的相邻元素的大小关系组成一个新的数组,那么我们就是要看一下pattern对应的大小关系在这个新的数组当中出现过多少次,这个就是一个标注的z算法的题目了,参考上述博客当中的内容即可,这里就不过多展开了。

2. 代码实现

给出python代码实现如下:

def z_algorithm(s):n = len(s)z = [0 for _ in range(n)]l, r = -1, -1for i in range(1, n):if i > r:l, r = i, iwhile r < n and s[r-l] == s[r]:r += 1z[i] = r-lr -= 1else:k = i - lif z[k] < r - i + 1:z[i] = z[k]else:l = iwhile r < n and s[r-l] == s[r]:r += 1z[i] = r-lr -= 1z[0] = nreturn zclass Solution:def countMatchingSubarrays(self, nums: List[int], pattern: List[int]) -> int:n = len(nums)m = len(pattern)mapping = {1:"g", 0:"e", -1:"l"}s = ""for i in range(n-1):if nums[i+1] > nums[i]:s += "g"elif nums[i+1] == nums[i]:s += "e"else:s += "l"p = "".join([mapping[i] for i in pattern])z = z_algorithm(p + s)[m:]ans = [1 for x in z if x >= m]return len(ans)

提交代码评测得到:耗时1669ms,占用内存70.7MB。

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

相关文章:

  • 购物网站设计思路企业网站建设策划书 前言
  • 猪八戒网站做私活赚钱吗wordpress在页面添加文章分类导航
  • 中国城乡住房和建设部网站美丽深圳微信公众号二维码
  • 凡科网做网站收费吗为什么原网站建设公司不愿意透露域名管理权限给客户
  • 公司做网站都咨询哪些问题小说网站自动采集
  • 哈尔滨企业做网站ftp上传wordpress网站要多久
  • 玉林市网站开发公司合肥制作网站价格
  • 搭建网站需要什么武侯区网站建设
  • 不花钱自己可以做网站吗京东网站拼图验证怎么做
  • 关于公司门户网站建设的议案沧州地区做网站
  • 购买了网站如何使用吗htmlplay
  • 科技网站有哪些搭建网站怎么赚钱
  • 家用机做网站服务器wordpress 媒体库管理
  • 网站建设faq系统指什么wordpress主动推送
  • 怎么建设商城网站网站开发的编程语言有哪些
  • 广东移动宽带官网站在线代理浏览网址
  • 视屏网站开发者工具无视频文件沈阳网站建设优化企业
  • 湖北做网站推广文山网站建设哪家好
  • 自己可以做公司网站吗做推送的网站
  • 怎么在拼多多上开网店卖东西潍坊网站建设wfxtseo
  • 网站建设代理公司wordpress页面布局修改器
  • 怀化做网站dnf做任务解除制裁网站
  • 关于网站建设的意见300个吉祥公司取名大全
  • 网站建设推广找stso88效果好网架生产厂家联系方式
  • 网站会员管理系统如何快速更新网站快照
  • 彩票网站怎么做卖文具做网站好还是做电商好
  • 做校园网站的公司做网站的工作有发展空间没有
  • 商城网站案例服装厂招代理
  • 建设门户网站特点内蒙古网站建设
  • 湖南网站设计外包服务h5页面制作工具哪个好