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

网站文章列表和图片列表排版切换代码wordpress导航调用代码

网站文章列表和图片列表排版切换代码,wordpress导航调用代码,合肥seo外包平台,ppt设计教程网找到字符串中所有字母异位词 题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示…

找到字符串中所有字母异位词

题目描述:

        给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。

异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。

示例 1:

输入: s = "cbaebabacd", p = "abc"
输出: [0,6]
解释:
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。
起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。

 示例 2:

输入: s = "abab", p = "ab"
输出: [0,1,2]
解释:
起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。
起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。
起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。

思路分析:

依然是滑动窗口法

        根据题目要求,我们需要在字符串 s寻找字符串 p 的异位词。因为字符串 p 的异位词的长度一定与字符串 p的长度相同,所以我们可以在字符串 s中构造一个长度为与字符串 p 的长度相同的滑动窗口,并在滑动中维护窗口中每种字母的数量;当窗口中每种字母的数量与字符串 p 中每种字母的数量相同时,则说明当前窗口为字符串 p 的异位词。

优化思路

        在上述方法的基础上,我们不再分别统计滑动窗口和字符串中每种字母的数量,而是统计滑动窗口和字符串 p中每种字母数量的差;并引入变量cnt来记录当前窗口与字符串 p中数量不同的字母的个数,并在滑动窗口的过程中维护它。

        在判断滑动窗口中每种字母的数量与字符串 p中每种字母的数量是否相同时,只需要判断cnt是否为零即可。

代码实现注解:

class Solution {public List<Integer> findAnagrams(String s, String p) {List<Integer>res=new ArrayList<>();//定义一个一维数组记录字母在两个字符串中出现的差值//cnt[x] = 0  表示 s与p中字母x出现次数相同 都出现了n次//cnt[x] = n  表示 在s中字母x出现次数比p多 多出现了n次//cnt[x] = -n 表示 在s中字母x出现次数比p少 少出现了n次int[]cnt=new int[26];//统计字符数量int n=p.length();int m=s.length();//如果目标字符长度大于原始字符长度,返回空数组if(n>m){return res;}//开始遍历数组,创造窗口滑块,p数组出现的字母数值加一,S数组出现的字母数字减一。//所以当cnt数组上的数值为0是代表在滑块中p和s出现该字母的频率一致for(int i=0;i<n-1;i++){cnt[p.charAt(i)-'a']++;cnt[s.charAt(i)-'a']--;}//将P字符串中的最后一个字母读入cnt中cnt[p.charAt(n-1)-'a']++;int l=0;//将S字符串中的n-1位置上的字母作为滑块的右边界//开始滑动窗口for(int r=n-1;r<m;r++){cnt[s.charAt(r)-'a']--;int o=0;//随着右边界的右移,判断新的右边界。如果cnt数组上的数值为0,那么o赋值为1for(int j=0;j<26;j++){o+=cnt[j]==0?1:0;}//说明s和p的同一个字母出现频率相等if(o==26){res.add(l);}//左边界向右移,缩小窗口cnt[s.charAt(l++)-'a']++;}return res;}
}

http://www.yayakq.cn/news/697206/

相关文章:

  • 网站建站工具有哪些企业查询宝在线查询
  • 易讯网站建设兰州网站建设索q479185700
  • 雄安建站服务深圳龙华有几个区
  • 做嗳啪啪 网站网站搭建教室
  • 做标签网站是干嘛的内江 网站建设
  • 网站做适配定西市建设厅官方网站
  • 企业网站开发韵茵建站牛商网做网站要多少钱
  • 做网站首选什么语言浙江省建设厅继续教育网站首页
  • 搜索引擎友好的网站有哪些特点吉林市 网站建设
  • 房地产企业网站开发加强学校网站建设的必要性
  • 网站sem托管下载免费ppt模板
  • 医院加强网站建设综合社区网站开发费用
  • 公司网站设计与制百度收录提交查询
  • 免费做直播网站网站服务器空间不足
  • 制作购物网站需要多少钱深圳个性化网站建设公司电话
  • 学校网站建设项目需求报告建设摩托车官网旗舰店
  • 手机怎么搭建属于自己的网站wordpress的文章多重筛选
  • WordPress渗透思路wordpress 分页seo
  • 静安免费网站制作网站收录网
  • 河北高端网站设计公司创建网站基本流程
  • 网站建设的基础知识与维护织梦做的网站织梦修改网页
  • 怎么创建免费的个人网站企业门户网站运营推广
  • 自助建网站哪个好163cm邮箱登录入口
  • 什么网站可以做期货电子商务创建网站
  • 免费建站有哪些哪些网站可以做问卷
  • 九江有哪些免费推广网站资格证网站怎么做
  • 关于企业网站开发与设计论文企业门户网站开发平台的设计
  • 视频上传网站源码深圳网站制作公司建设
  • 江苏中小企业网站建设白银做网站的董事
  • 河南专业网站建设公司郑州专业网站制作服务费用