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

如何做物流网站网络互联网推广

如何做物流网站,网络互联网推广,网站建设菜单栏设计,官方网站是指哪个网站难度:中等 给你两个字符串 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.hengruixuexiao.com/news/56933.html

相关文章:

  • 跨境电商知名网站建设腾讯网网站网址
  • 民企厂房建设招标网站竞价排名的优缺点
  • 广州营销网站建设公司关联词有哪些四年级
  • 瓜果蔬菜做的好的电商网站海外推广方法有哪些
  • wordpress 自动发卡天津关键词优化网站
  • 昆山网站建设方案优化公司app推广代理
  • php网站换服务器淘宝seo培训
  • asp.net企业网站框架什么是搜索推广
  • 杭州做网站的公司哪些比较好seo网站快速排名
  • 网站建设必会的软件百度品牌专区怎么收费
  • 如何做pdf电子书下载网站seo就业哪家好
  • 做学校后台网站用什么浏览器百度导航
  • 浏览器无法打开住房和建设网站百度网页版入口链接
  • 品牌专业建设网站百度网盘pc端网页版
  • 东莞樟木头网站设计下载百度语音导航地图安装
  • 用vue做网站一般用什么组件库网络平台有哪些
  • 找个靠谱网站做推广竞价恶意点击立案标准
  • 网站建设推广平台有哪些方面怎么样引流加微信
  • 品牌名称怎么取广州seo优化外包公司
  • wordpress建站云平台成都关键词优化排名
  • 做淘宝客网站制作教程视频教程惠州seo管理
  • 建站平台免费加盟怎么做互联网营销推广
  • 申请免费个人网站落实好疫情防控优化措施
  • wordpress引用轮播图文件东莞百度推广优化排名
  • nike网站建设分析杭州网站定制
  • 网站博客怎么做东莞有限公司seo
  • 美女网站源码带采集seo 公司
  • 网站群内容管理系统的设计与实现电子技术培训机构
  • 招商网代理优化大师会员兑换码
  • 化妆品网站开发可行性百度客服人工服务电话