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

seo自助建站平台舆情监测软件免费版

seo自助建站平台,舆情监测软件免费版,无锡做网站baidu,绿色网站设计因为之前写过一道找字母异位词分组的题,所以这道题做起来还是比较得心应手。我像做之前那道字母异位词分组一样,先把模板p排序,然后拿滑动窗口去s中从头到尾滑动,窗口中的这段字串也给他排序,然后拿这两个排完序的stri…

 因为之前写过一道找字母异位词分组的题,所以这道题做起来还是比较得心应手。我像做之前那道字母异位词分组一样,先把模板p排序,然后拿滑动窗口去s中从头到尾滑动,窗口中的这段字串也给他排序,然后拿这两个排完序的string去equals()一下,如果相同,直接把窗口的起始下标放入答案中,那剩下的主要就是一些细节了,排序是先用String的toCharArray()方法,把string转为char数组,然后用Arrays.sort()方法把字符数组排序,最后用String.valueOf(char[])方法把char数组转换位String,窗口中的字串也是用同样的方法,我使用String的substring(int  beginIndex, int endIndex)方法来拿到字串的,这里需要注意的是endIndex是不包含在字串其中的。最后两个string比较equals一下就可以,以下是我的代码:

class Solution {public List<Integer> findAnagrams(String s, String p) {List<Integer> ans = new ArrayList<Integer>();char[] c = p.toCharArray();Arrays.sort(c);String ss = String.valueOf(c);int l = c.length;int n = s.length();for(int i = 0;i<=n-l;i++){int j = i+l;if(j<=n){String sub = s.substring(i,j);char[] subc =sub.toCharArray();Arrays.sort(subc);String sub2 = String.valueOf(subc);if(sub2.equals(ss)){ans.add(i);}}else{break;}}return ans;}
}

看了一下题解,题解为了更高的算法执行效率并没有用排序,而是统计窗口中所有字母出现的次数与模板中所有字母出现的次数进行比较,如果出现的次数相同,那字串和模板就是异位词。

class Solution {public List<Integer> findAnagrams(String s, String p) {int sLen = s.length(), pLen = p.length();if (sLen < pLen) {return new ArrayList<Integer>();}List<Integer> ans = new ArrayList<Integer>();int[] sCount = new int[26];int[] pCount = new int[26];for (int i = 0; i < pLen; ++i) {++sCount[s.charAt(i) - 'a'];++pCount[p.charAt(i) - 'a'];}if (Arrays.equals(sCount, pCount)) {ans.add(0);}for (int i = 0; i < sLen - pLen; ++i) {--sCount[s.charAt(i) - 'a'];++sCount[s.charAt(i + pLen) - 'a'];if (Arrays.equals(sCount, pCount)) {ans.add(i + 1);}}return ans;}
}

他是创建两个大小位26的int数组scount和pcount,然后通过++sCount[s.charAt(i) - 'a'];统计字母出现的次数,然后也是通过窗口的特点,就是进来一个加上一个,出去一个减掉一个,所以可以发现,在第一次初始化完count数组后窗口不断右移,左边在把scount--,右边在把scount++。

http://www.hengruixuexiao.com/news/26554.html

相关文章:

  • 嘉定网站设计制作价格荆州网站seo
  • 从0开始做网站seo优化易下拉霸屏
  • 南京制作网站企业google国际版入口
  • 网站开发语言更换推广方案
  • 展览网站制作深圳seo网络推广
  • 电脑做h5比较好的网站网络违法犯罪举报网站
  • 忘记网站管理员密码四年级摘抄一小段新闻
  • 网站开发毕业实训总结百度关键词竞价和收费的方法
  • 长春专业做网站公司排名进行seo网站建设
  • ftp服务器怎么搭建深圳seo优化服务
  • 这么给网站做关键字域名查询网址
  • 制作 网站 盈利网页设计制作软件
  • wordpress 4.01连云港seo优化公司
  • 做网站的机构怎么优化电脑系统
  • 做国外网站推广利尔化学股票
  • 深圳博纳网站建设湖南手机版建站系统开发
  • 深圳高端做网站公司整站seo定制
  • 网站如何做谷歌优化优化网站排名技巧
  • 网络ip查询网站5g影讯5g天线在线观看免费视频
  • 安卓网站开发ui网页设计模板素材图片
  • tp做网站国内it培训机构排名
  • 做网站买域名百度指数官方网站
  • 如何对网站管理网址搜索引擎
  • 做音乐 交流网站2023北京封控了
  • 网站竞价怎么做外贸google推广
  • 网站开发qq头像公司网站的推广
  • 彩票网站为啥链接做两次跳转网站开发流程有哪几个阶段
  • iis5.1新建网站百度推广搜索排名
  • 电子商务公司网站怎么建促销策略的四种方式
  • 学做网站 软件广州网站设计建设