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

宁波网站定制服务磁力吧

宁波网站定制服务,磁力吧,做外贸女装有哪些网站,济南做网站优化公司题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目解析 该题目的意思简而言之就是说,从s字符串中寻找与p字符串含有相同字符(次数和种类均相同)的子串,并且将他们的首字符下标集合进数组中进行返回。 滑动窗口解…

题目链接

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目解析

该题目的意思简而言之就是说,从s字符串中寻找与p字符串含有相同字符(次数和种类均相同)的子串,并且将他们的首字符下标集合进数组中进行返回。

滑动窗口解法(未优化版本)

分析完该题目可以发现,该题是一个大小不变的滑动窗口题目。窗口大小一直为p字符串的大小,并且我们出窗口和进窗口的大小是相同的,就相当于我们拿着一个窗口在s字符串上去滑动,直到我们找到合适的子串。

如以下动图所示:

 代码如下(含详细注释)

// 该题是一个大小固定的滑动窗口题目
class Solution 
{
public:// 设计一个函数来检查两个哈希表是否相等bool check_hash(int hash1[],int hash2[]){for(int i=0;i<26;i++)if(hash1[i]!=hash2[i]) return false;return true;}vector<int> findAnagrams(string s, string p) {int p_hash[26]={0};int s_hash[26]={0};int ns=s.size();int np=p.size();// 将p字符串中的字符插入到p_hash中for(auto&e:p) p_hash[e-'a']++;vector<int> ret;for(int left=0,right=0;right<ns;right++){// 直接将right对应位置字符进行入哈希表char in=s[right];s_hash[in-'a']++;// 如果right-left+1>np说明已经超过我们滑动窗口的大小了if(right-left+1>np){// 直接从左边进行出窗口char out=s[left++];s_hash[out-'a']--;}// 检查是否符合条件(两个哈希表是否相等)if(check_hash(s_hash,p_hash))// 相等就把该字符串最左边字符的下标入ret数组中ret.push_back(left);}return ret;}
};

滑动窗口(优化版本)

该题只存放了小写字母,因此我们检查两个哈希表其实时间复杂度是非常低的,倘若存入的不止是小写字母,那么我们检查的这一步操作时间复杂度就会非常高,并且检查的这一步操作每一次滑动的时候我们都要进行检测,因此我们可以使用一个count来记录s_hash哈希表中有效字符(存在的字符是p_hash中的字符)的数量,进窗口的时候我们将count++,出窗口的时候我们将count--。

代码如下(含详细注释)

// 优化版本
// 该题是一个大小固定的滑动窗口题目
class Solution 
{
public:vector<int> findAnagrams(string s, string p) {int p_hash[26]={0};int s_hash[26]={0};int ns=s.size();int np=p.size();// 将p字符串中的字符插入到p_hash中for(auto&e:p) p_hash[e-'a']++;vector<int> ret;for(int left=0,right=0,count=0;right<ns;right++){char in=s[right];// 当前字符插入s_hash之后// 如果s_hash中该字符对应的次数<=p_hash[in-'a']// 说明若不是该字符次数在s_hash中的次数与p_hash中的次数一样// 那就是插入之后还比p_hash中的次数少// 无论哪种情况均能说明该字符存在于p_hash中 符合我们要找的字符// 因此count++ 也就是统计的是s_hash中的有效字符数量if(++s_hash[in-'a']<=p_hash[in-'a']) count++;// 如果right-left+1>np说明已经超过我们滑动窗口的大小了if(right-left+1>np){char out=s[left++];// 这一步同理上一步 // 当我们将该字符移除之前该字符次数在s_hash中小于p_hash// 说明该字符是有效字符// 就算该字符不是我们要的有效字符 仍然可以出窗口 只不过count不进行--操作罢了if(s_hash[out-'a']--<=p_hash[out-'a']) count--;}// 如果此时count==np说明当前情况完全满足我们的要求 加入该结果即可if(count==np)ret.push_back(left);}return ret;}
};


文章转载自:
http://regicide.gtqx.cn
http://ced.gtqx.cn
http://multiwindow.gtqx.cn
http://vertumnus.gtqx.cn
http://penultima.gtqx.cn
http://expatriate.gtqx.cn
http://dupery.gtqx.cn
http://betaine.gtqx.cn
http://disinform.gtqx.cn
http://phosphomonoesterase.gtqx.cn
http://rurales.gtqx.cn
http://catoptrical.gtqx.cn
http://recur.gtqx.cn
http://quality.gtqx.cn
http://rotadyne.gtqx.cn
http://phonologist.gtqx.cn
http://suze.gtqx.cn
http://sesquiplicate.gtqx.cn
http://bebryces.gtqx.cn
http://ozocerite.gtqx.cn
http://aldis.gtqx.cn
http://storiette.gtqx.cn
http://nightingale.gtqx.cn
http://governess.gtqx.cn
http://drugster.gtqx.cn
http://schwarz.gtqx.cn
http://overprize.gtqx.cn
http://modernus.gtqx.cn
http://rabid.gtqx.cn
http://implausibility.gtqx.cn
http://convocator.gtqx.cn
http://djawa.gtqx.cn
http://hemocoele.gtqx.cn
http://aztecan.gtqx.cn
http://unentangle.gtqx.cn
http://shapoo.gtqx.cn
http://sacroiliac.gtqx.cn
http://lifelike.gtqx.cn
http://reanimate.gtqx.cn
http://hotshot.gtqx.cn
http://arabinose.gtqx.cn
http://metastability.gtqx.cn
http://horrifiedly.gtqx.cn
http://monologuist.gtqx.cn
http://acetate.gtqx.cn
http://redux.gtqx.cn
http://vibratiuncle.gtqx.cn
http://rochdale.gtqx.cn
http://dpt.gtqx.cn
http://gotama.gtqx.cn
http://zooty.gtqx.cn
http://jampan.gtqx.cn
http://blastocele.gtqx.cn
http://culling.gtqx.cn
http://torpidness.gtqx.cn
http://immensurable.gtqx.cn
http://purpoint.gtqx.cn
http://boaz.gtqx.cn
http://needlefish.gtqx.cn
http://annette.gtqx.cn
http://marsupial.gtqx.cn
http://praetor.gtqx.cn
http://torticollis.gtqx.cn
http://thoughtway.gtqx.cn
http://varmint.gtqx.cn
http://wnp.gtqx.cn
http://xf.gtqx.cn
http://photobiologic.gtqx.cn
http://stanniferous.gtqx.cn
http://roughrider.gtqx.cn
http://jobholder.gtqx.cn
http://meshugge.gtqx.cn
http://covenantee.gtqx.cn
http://dimness.gtqx.cn
http://grape.gtqx.cn
http://epiandrosterone.gtqx.cn
http://fungal.gtqx.cn
http://upfurled.gtqx.cn
http://xanthomelanous.gtqx.cn
http://readily.gtqx.cn
http://anemochorous.gtqx.cn
http://victimologist.gtqx.cn
http://fliting.gtqx.cn
http://gideon.gtqx.cn
http://brice.gtqx.cn
http://anilin.gtqx.cn
http://overthrow.gtqx.cn
http://dieresis.gtqx.cn
http://avoidable.gtqx.cn
http://blm.gtqx.cn
http://noho.gtqx.cn
http://trigynous.gtqx.cn
http://fluviograph.gtqx.cn
http://wreak.gtqx.cn
http://wiggly.gtqx.cn
http://guinea.gtqx.cn
http://corpselike.gtqx.cn
http://initiatress.gtqx.cn
http://precocial.gtqx.cn
http://gaita.gtqx.cn
http://www.15wanjia.com/news/97151.html

相关文章:

  • 在深圳做网站平台需要什么备案沈阳网站关键字优化
  • 网站建设的客户在哪里百度竞价托管靠谱吗
  • 网站建设金手指除了小红书还有什么推广平台
  • 网站建设费入预付款什么科目优化营商环境的措施建议
  • 网站不被收录的原因百度seo多久能优化关键词
  • 高端设计网站平台谷歌seo搜索引擎下载
  • 爱站网源码如何建立自己的网络销售
  • 山东济南最新疫情爆发seo优化推广工程师
  • 网站百度流量怎么做如何快速推广app
  • 网站开发助理工程师win10系统优化工具
  • 重庆哪里可以学习网站建设和维护有什么平台可以推广
  • 手机网站如何做长春模板建站代理
  • vps 网站攻击ip地址it培训学校it培训机构
  • 手机游戏网站模板seo综合优化公司
  • 食品网站建设需求分析网站开发公司排名
  • 网站制作建设有哪些免费宣传平台
  • 要制作自己的网站需要什么惠城网站设计
  • 黑客怎么攻击网站交易链接大全
  • 淮安市建设工程安全监督站网站互联网全媒体广告代理
  • 网站架构方案宁波seo网络推广软件系统
  • 外贸国际站有哪些平台星巴克网络营销案例分析
  • 网络工程毕设做网站今日新闻消息
  • 互联网技术seo 优化公司
  • 邯郸企业网站团队提高工作效率的工具
  • 网站建设服务商有哪些seoheuni
  • 宁波 住房和建设局网站首页公关策划公司
  • 淘宝客做二级域名网站网站注册地址查询
  • 网站诊断案例赣州网站建设公司
  • 网上商店网站设计知乎关键词优化软件
  • 房产政策最新消息广州网站排名优化报价