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

去哪网网站设计风格龙港做网站

去哪网网站设计风格,龙港做网站,皮具网站建设服装网站,国外 上海网站建设一、题目描述 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s “cbaebabacd”, p “abc” 输出: [0,6] 解释: 起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词…

一、题目描述

给定两个字符串 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” 的异位词。

提示:

1 <= s.length, p.length <= 3 * 104
s 和 p 仅包含小写字母

二、解决思路

1、直观解法,for循环遍历原数组,每次截取p长度,判断是否是异位词

class Solution {public List<Integer> findAnagrams(String s, String p) {List<Integer> list = new LinkedList<>();if(s == null || p == null || s.length() == 0 || p.length() == 0){return list;}if(p.length() > s.length()){return list;}int count = p.length();String cur;char[] curChars;Set<String> set = new HashSet<>();//需转换为数组进行排序set.add(sortString(p));for(int i = 0;i < s.length() && i < s.length() - count + 1;i++){//截取不包含i+count位置的元素cur = s.substring(i,i + count);if(set.contains(sortString(cur))){list.add(i);}}return list;}//对一个字符串内部按字母排序,返回新字符串public String sortString(String str){char[] dest = str.toCharArray();Arrays.sort(dest);return String.valueOf(dest);}
}

在这里插入图片描述
2、滑动窗口
定长滑窗。枚举 s 的所有长为 n 的子串 s

,如果 s

的每种字母的出现次数,和 p 的每种字母的出现次数都相同,那么 s

是 p 的异位词。

class Solution {public List<Integer> findAnagrams(String s, String p) {List<Integer> ans = new ArrayList<>();int[] cntP = new int[26]; // 统计 p 的每种字母的出现次数int[] cntS = new int[26]; // 统计 s 的长为 p.length() 的子串 s' 的每种字母的出现次数for (char c : p.toCharArray()) {cntP[c - 'a']++; // 统计 p 的字母}for (int right = 0; right < s.length(); right++) {cntS[s.charAt(right) - 'a']++; // 右端点字母进入窗口int left = right - p.length() + 1;if (left < 0) { // 窗口长度不足 p.length()continue;}if (Arrays.equals(cntS, cntP)) { // s' 和 p 的每种字母的出现次数都相同ans.add(left); // s' 左端点下标加入答案}cntS[s.charAt(left) - 'a']--; // 左端点字母离开窗口}return ans;}
}

在这里插入图片描述

http://www.dtcms.com/a/600502.html

相关文章:

  • 官网网站搭建需要多少钱天元建设集团有限公司商票拒付
  • 合肥网站建设是什么意思男女做性哪个的小视频网站
  • 建设信用卡积分商城网站西京一师一优课建设网站
  • 网站名称 注册怎么写微信小程序
  • 网站广告收费标准网页制作自我介绍源代码
  • 网站建站 优化推广wordpress做的论坛
  • 做神秘顾客哪个网站好花店asp网站源码
  • 网页设计设计一个网站馆陶网站建设费用
  • 自己做的网页怎么上传到网站织梦网站怎么做seo
  • 中山专业做网站的公司宁波网站制作价格
  • 怎么做网站网站不被发现企业网站开发的文献综述
  • 如何优化好一个网站如何做网站内容管理
  • 实时热榜企业seo解决方案
  • 网站的内部链接如何做电商培训类网站模板下载
  • 自贡北京网站建设wordpress雪人主题
  • 虚拟主机建设网站两个家具网站首页模板
  • discuz网站标题深圳网站建设网站推广的方法
  • 网站制作中企动力优上海小企业网站建设
  • 潮州网站网站建设携创网
  • 网站运营需要多少钱免费的wordpress主题
  • 深圳有哪些做网站公司动易cms网站后台很慢是什么原因
  • 大同住房和城乡建设网站微信如何开通公众号
  • 百度收录网站要多久哪里有网站培训的
  • 绵阳公司网站制作公司合肥官网设计地址
  • 企业网站建设制作公司哪家好同域名网站改版需要把之前网站里的文章都拷贝过来吗?
  • 网站建设需求书免费婚庆网站模板
  • 超链接到网站怎么做视频百度官方
  • 闽侯福州网站建设自己干装修怎么找活
  • 成都微信网站建设推重庆建设医院官方网站
  • 做公司网站需要注意什么国内seo公司哪家最好