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

下载微信安装微信网络推广优化品牌公司

下载微信安装微信,网络推广优化品牌公司,深圳鼎晟展览设计有限公司,北戴河网站建设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.hkea.cn/news/556538/

相关文章:

  • 网站换了服务器百度seo排名优化公司哪家好
  • 海南网站建设制作网络营销效果评估
  • 飞阳建设网站上海广告公司
  • 营销网站导航栏常见网站搜索排名靠前
  • 深圳市政府网站官网百度地图疫情实时动态
  • 上海建设工程咨询网 首页深圳优化排名公司
  • 杭州哪个网站建设最好做网站的网络公司
  • 制作一个网站步骤东莞网络营销销售
  • 专业的营销网站建设公司百度联盟注册
  • 机械类网站用什么做背景指数运算法则
  • 微信如何绑定网站加速游戏流畅的软件
  • 茂名整站优化百度问答首页
  • 手机网站搭建网络宣传方式
  • 2003网站建设网站seo哪家公司好
  • 成都学校网站制作2022年国际十大新闻
  • 工厂外贸网站建设台州网络推广
  • 酒店网站建设方案策划百度seo怎么做网站内容优化
  • 网站更改公司需要重新备案吗搜索网页内容
  • 现在做网站还用dw做模板了吗成人电脑速成培训班
  • 做app要不要建网站刚开的店铺怎么做推广
  • 做生存分析的网站有哪些专业的网站优化公司
  • 网站双倍浮动百度联盟app
  • 北京网站设计确保代码符合w3c广州网络营销的推广
  • 做网站实名认证有什么用百度移动端模拟点击排名
  • 知更鸟wordpress 怎样沈阳百度seo关键词优化排名
  • 携程网站模板互联网营销策略有哪些
  • 做网站内链什么意思上海排名优化seobwyseo
  • 四川做直销会员网站百度网盘帐号登录入口
  • 做百度竞价对网站有无要求网站推广排名服务
  • 建设工程合同包括成都网站改版优化