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

如何利用影视网站做cpa福州seo推广公司

如何利用影视网站做cpa,福州seo推广公司,知名的家居行业网站开发,软件定制开发软件难度:中等 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2 的 子串 。 示例 1: 输入:…

难度:中等

给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。

换句话说,s1 的排列之一是 s2 的 子串 。

示例 1:

输入:s1 = “ab” s2 = “eidbaooo”
输出:true
解释:s2 包含 s1 的排列之一 (“ba”).

示例 2:

输入:s1= “ab” s2 = “eidboaoo”
输出:false

提示:

1 <= s1.length, s2.length <= 104
s1 和 s2 仅包含小写字母

解题思路:

滑动窗口是处理字符串子串问题时常用的技术,通过在字符串上移动一个固定大小的窗口来检查不同的子串。我们的目标是检查字符串s2中是否存在s1所有字符的一个排列作为子串。

  1. 计数映射:首先,我们需要统计字符串s1中每个字符出现的次数,可以用一个对象或Map来实现。这将帮助我们后续比较时,快速判断一个子串是否为s1的排列。
  2. 滑动窗口:在s2上建立一个大小与s1相等的窗口,初始时覆盖s2的前|s1|个字符(|s1|表示字符串s1的长度)。然后,逐步将窗口向右滑动一位,每次滑动时:
  • 增加新进入窗口的字符的计数。
  • 减少离开窗口的字符的计数。
  • 检查当前窗口内的字符计数是否与s1的计数映射完全匹配,如果匹配,则找到了一个排列子串,返回true。
  1. 遍历结束未找到:如果遍历完s2仍未找到匹配的子串,则返回false。

JavaScript实现:

/*** @param {string} s1* @param {string} s2* @return {boolean}*/
var checkInclusion = function (s1, s2) {if (s1.length > s2.length) return false; // s1长度大于s2,不可能为子串// 计算s1中各字符的计数const countMap = new Map();for (const char of s1) {countMap.set(char, (countMap.get(char) || 0) + 1);}console.log(countMap)// 定义滑动窗口的大小const windowSize = s1.length;// 循环遍历的时候一定要记住减去for (let i = 0; i <= s2.length - windowSize; i++) {// 重置滑动窗口的计数映射,为什么要重置滑动窗口?是因为在下面的for j循环中对tempMap进行改动,所以在每次for i循环中都需要对tempMap进行重置const tempMap = new Map(countMap);console.log(tempMap)// 检查当前窗口内的字符for (let j = 0; j < windowSize; j++) {const char = s2[i + j];if (tempMap.has(char)) {tempMap.set(char, tempMap.get(char) - 1);// 如果计数为0,可以从映射中移除if (tempMap.get(char) === 0) tempMap.delete(char);} else { // 如果不是的话,一定要跳出循环,要不然执行会超时break; // 当前字符不在s1的映射中,直接跳出循环}}// 如果映射为空,说明当前窗口内的字符与s1的排列一致if (tempMap.size === 0) return true;}return false; // 遍历结束,未找到匹配的子串
};
console.log(checkInclusion("ab", "eidbaooo")); // 输出: true
http://www.tj-hxxt.cn/news/85992.html

相关文章:

  • 想给公司做个网站 怎么做上海专业seo服务公司
  • asp网站安装教程深圳关键词排名优化系统
  • 独立站搭建平台百度快照投诉中心官网
  • 数字媒体艺术谷歌sem和seo区别
  • 网站不备案支付宝接口南京seo推广
  • 做网站优化的关键词怎么设置二级域名注册平台
  • 手机网站开发隐藏网址东莞网络公司排行榜
  • 做网站购买服务器长清区seo网络优化软件
  • 省建设执业资格注册中心网站seo是干啥的
  • 做网站流程视频百度百科优化排名
  • 公司做网站还是做app郑州优化网站公司
  • 专做奢侈品的网站今日重大新闻事件
  • 没有网站可以做cpc吗各大网址收录查询
  • php动态网站开发实例汕头seo按天付费
  • 网站做外链怎么样软文广告经典案例300字
  • 58同城的网站建设东莞seo收费
  • 智能网站建设步骤产品代理推广方案
  • 公司名称变更网站备案怎么处理如何制作一个自己的网页网站
  • 建设银行征信中心个人信用查询官方网站app拉新任务平台
  • 网站布局选择湖南seo优化公司
  • excel网站做链接二十个优化
  • 信息门户网站制作费用最常用的几个关键词
  • 如何建设游戏平台网站淘宝店铺怎么免费推广
  • 网站做图标链接上海seo优化
  • 怎么在日本做乐天网站供货商ds2600ii色带
  • 大型网站的空间宁波seo网站排名优化公司
  • 装潢设计属于什么专业优化资讯
  • 北京建设工程监督网站seo优化关键词分类
  • 快递公司网站源码武汉本地seo
  • wordpress和新浪微博同步搜索引擎优化的作用是什么