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

定制做网站平台seo外贸网站制作

定制做网站平台,seo外贸网站制作,河南网络科技网站建设,母婴 网站 策划给你两个字符串 word1 和 word2 。 如果一个字符串 x 重新排列后,word2 是重排字符串的 前缀 ,那么我们称字符串 x 是 合法的 。 请你返回 word1 中 合法 子字符串 的数目。 注意 ,这个问题中的内存限制比其他题目要 小 ,所以你…

给你两个字符串 word1 和 word2 。

如果一个字符串 x 重新排列后,word2 是重排字符串的 前缀 ,那么我们称字符串 x 是 合法的 。

请你返回 word1 中 合法 子字符串 的数目。

注意 ,这个问题中的内存限制比其他题目要 小 ,所以你 必须 实现一个线性复杂度的解法。

示例 1:

输入:word1 = “bcca”, word2 = “abc”

输出:1

解释:

唯一合法的子字符串是 “bcca” ,可以重新排列得到 “abcc” ,“abc” 是它的前缀。

示例 2:

输入:word1 = “abcabc”, word2 = “abc”

输出:10

解释:

除了长度为 1 和 2 的所有子字符串都是合法的。

示例 3:

输入:word1 = “abcabc”, word2 = “aaabc”

输出:0

解释:

1 <= word1.length <= 10 6 ^6 6
1 <= word2.length <= 10 4 ^4 4
word1 和 word2 都只包含小写英文字母。

滑动窗口,当窗口内的字符符合题意时,加上窗口左边的字符也符合题意:

class Solution {
public:long long validSubstringCount(string word1, string word2) {unordered_map<char, int> cnt2;for (char c : word2) {++cnt2[c];}int cnt2Size = cnt2.size();long long ans = 0;unordered_map<char, int> curCnt;int left = 0;int more = 0;for (int i = 0; i < word1.size(); ++i) {if (++curCnt[word1[i]] == cnt2[word1[i]]) {++more;}while (more == cnt2Size) {if (curCnt[word1[left]]-- == cnt2[word1[left]]) {--more;}++left;}ans += left;}return ans;}
};

如果word1的长度为n,word2的长度为m,两个字符串可能包含的字符种类数为k,则此算法时间复杂度为O(n+m),空间复杂度为O(k)。

http://www.dtcms.com/wzjs/183855.html

相关文章:

  • 门户型网站建设方案优化推广排名网站教程
  • dw2019怎么做网站营销型网站的分类
  • 邯郸营销网站建设关键词有哪些关联词
  • 业务型网站做seo网络运营课程培训班
  • 西安建设网站的公司私人网站管理软件
  • 美女做那种视频网站有哪些重庆seo培训
  • 百度分公司 网站外包国内免费发布产品的平台
  • 营口门户网站建设网络推广怎样做
  • 如何通过c语言来做网站今日热点事件
  • 如何查看网站域名解析南昌百度搜索排名优化
  • 品牌网站建设有哪些想要导航页面推广app
  • 给人做时时彩网站建设西安seo工作室
  • 怎么学习做网站谷歌浏览器下载安卓版
  • 有没有专门的网站做品牌授权的全国疫情最新情况
  • 怎样做好营销推广广州网站快速排名优化
  • 临清建网站手机地图app下载安装
  • 政府网站开发的建议外链工具软件
  • 在线 网站建设seo具体怎么优化
  • 什么网站做问卷好如何宣传网站
  • 合肥专业做网站公司哪家好网络服务提供商
  • 给公司建立网站郑州网络推广排名
  • 一般做网站多少钱链交换反应
  • dede织梦php文章图片网站源码 完整后台 带在线音乐制作网页代码大全
  • 营口电商网站建设电子商务与网络营销教案
  • shopex网站搬家佛山网站建设维护
  • 江门网站制作公司2023b站免费推广入口游戏
  • 四川省微信网站建设推广推广网站的公司
  • 做网站买空间用共享ip广州seo优化费用
  • 北京建设网站的公司哪家好重庆网站开发公司
  • 专做女鞋批发的网站wordpress seo教程