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

网站如何留言龙之向导外贸官方网站

网站如何留言,龙之向导外贸官方网站,建设银行重庆市分行官方网站,做学分网站题目描述 给定两个字符串 s1 和 s2 和正整数 k,其中 s1 长度为 n1,s2 长度为 n2。 在 s2 中选一个子串,若满足下面条件,则称 s2 以长度 k 冗余覆盖 s1 该子串长度为 n1 k 该子串中包含 s1 中全部字母 该子串每个字母出现次数…

题目描述
给定两个字符串 s1 和 s2 和正整数 k,其中 s1 长度为 n1,s2 长度为 n2。

在 s2 中选一个子串,若满足下面条件,则称 s2 以长度 k 冗余覆盖 s1

该子串长度为 n1 + k

该子串中包含 s1 中全部字母

该子串每个字母出现次数不小于 s1 中对应的字母

给定 s1,s2,k,求最左侧的 s2 以长度 k 冗余覆盖 s1 的子串的首个元素的下标,如果没有返回-1。

举例:

s1 = “ab”

s2 = “aabcd”

k = 1

则子串 “aab” 和 “abc” 均满足此条件,由于 “aab” 在 “abc” 的左侧,“aab” 的第一个元素下部为 0,因此输出 0

输入描述
输入三行,第一行为 s1,第二行为 s2,第三行为 k

s1 和 s2 只包含小写字母
输出描述
最左侧的 s2 以长度 k 冗余覆盖 s1 的子串首个元素下标,如果没有返回 -1。

备注
0 ≤ len(s1) ≤ 1000000
0 ≤ len(s2) ≤ 20000000
0 ≤ k ≤ 1000
用例1
输入
ab
aabcd
1
输出
0
说明
子串aab和abc符合要求,由于aab在abc的左侧,因此输出aab的下标:0

用例2
输入
abc
dfs
10
输出
-1
说明
s2无法覆盖s1,输出 -1

"""
如果只是简单的滑动窗口的话,时间复杂度为O(n^2)
可能因为数量级高而超时,因此需要优化一下
"""
def sliding(S1,S2,K):n1 = len(S1)n2 = len(S2)if n2<n1+K:return -1#统计一下S1中每个字符出现的次数count={}for c in S1:if count.get(c) is None:count[c] = 1else:count[c]+=1#记录S1中字符的总数、total = n1windows_len = n1+KmaxI = n2-windows_len  #可以滑动的最大范围# 统计 s2 的 0 到windows范围内出现的 s1 中字符的次数for j in range(windows_len):c = S2[j]if count.get(c) is not None:if count[c]>0:total-=1    #找到了一个字符count[c]-=1if total==0:return 0  #返回起始索引# 从左边界 1 开始的滑动窗口,利用差异思想避免重复计算for i in range(1,maxI):#滑动窗口右移更新窗口remove = S2[i-1] #移除的字符add    = S2[i+windows_len-1] #加入的字符if count.get(remove) is not None:if count[remove]>=0:#如果 count[remove] 非负,说明它在有效字符之内total+=1count[remove]+=1if count.get(add) is not None:if count[add]>0:total-=1count[add]-=1if total == 0:return ireturn -1
if __name__ == '__main__':S1 = input()S2 = input()K = int(input())result = sliding(S1,S2,K)print(result)
http://www.yayakq.cn/news/499887/

相关文章:

  • 属于网站建设过程规划网站开发的可行性研究报告
  • 如何建设一个文件分享网站苏州诶茵诶公司网站
  • 上海营销型网站制作中国农业建设信息网站
  • 朔州网站建设收费多少东莞网站推广需要多少钱
  • 影视会员代理平台网站门户网站建设的平台搭建
  • 兰州兼职做网站找合伙人的网站做淘宝
  • 哪里的网站建设好找人做一下网站大概多少钱
  • c 购物网站开发流程wordpress 会员分销
  • 互联网营销 网站 推荐公司电商网站开发合同
  • 自己给别人做网站挣钱吗wordpress 导入html
  • 便宜网站建设公司哪家好如何做棋牌网站
  • 企业网站建设hnktwl南昌seo报价
  • 大连网站建设介绍江苏广宇建设集团有限公司网站
  • 网站开发和运行 法律开发微信小程序多少钱
  • 网上做设计兼职哪个网站好点做电商网站注意什么
  • 网站开发后台需要自己写吗好看的学校网站模板
  • 马鞍山网站建设方案免费手机网站制作
  • 绍兴兴住房和城乡建设局网站网站优化网络公司
  • 做网站什么程序怎么做网站统计
  • 企业营销型网站公司网站模板 酒店 中文
  • 中航鑫源建设集团有限公司网站wordpress 预览主题插件汉化
  • 免费做片头的网站张家界企业网站制作
  • 阿里云建站和华为云建站手机如何创建简易网站
  • 帝国cms 网站例子除了91还有什么关键词
  • 国外的素材网站鞍钢贴吧
  • 汽车网站建设价格广州网站定制开发公司哪家好
  • 暖通设计网站推荐郑州seo外包平台
  • 怎么通过贷款网站找做贷款客户常州网站建设团队
  • 单位如何建设网站邢台市人才网
  • wordpress使用ajax提交数据优化网站找哪家