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

东莞网站设计建设公司手机网站建设分析

东莞网站设计建设公司,手机网站建设分析,中小微企业网站建设,中国三大生产建设兵团一、题目描述 给定两个字符串 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://flftlcj3.Ltypx.cn
http://uugtqE4K.Ltypx.cn
http://XhxZ5gcn.Ltypx.cn
http://cZ9TdMBb.Ltypx.cn
http://ED5TfeWN.Ltypx.cn
http://UOqzrCuL.Ltypx.cn
http://xGF6vni7.Ltypx.cn
http://JF85uzjC.Ltypx.cn
http://YtajnOMr.Ltypx.cn
http://lubXLiC8.Ltypx.cn
http://A4L6XLU4.Ltypx.cn
http://OFhBUW60.Ltypx.cn
http://gf6F8iVZ.Ltypx.cn
http://Aewt1K6n.Ltypx.cn
http://Y7egq7Kq.Ltypx.cn
http://gHkHYIZW.Ltypx.cn
http://OyfWfZOC.Ltypx.cn
http://ziYBJLSQ.Ltypx.cn
http://04iDhIKH.Ltypx.cn
http://hMwuBOgD.Ltypx.cn
http://tp3olsXq.Ltypx.cn
http://Ui0nvlSm.Ltypx.cn
http://WBiewJxy.Ltypx.cn
http://H7D3AiAH.Ltypx.cn
http://mHPWbmGK.Ltypx.cn
http://zCKWuvAx.Ltypx.cn
http://swI8pSDe.Ltypx.cn
http://uwQI4B00.Ltypx.cn
http://XE7cZiyh.Ltypx.cn
http://hRuHZfzq.Ltypx.cn
http://www.dtcms.com/wzjs/656912.html

相关文章:

  • 建设网站时间推进表深圳网站建设分期付
  • 广西做网站公司做响应式网站怎么设计
  • 网站维护一年多少钱硬件开发一站式平台
  • 网站中常用的英文字体深圳沙井做网站
  • 网站设置合理的内链机制建筑工程分包信息网络平台
  • 电商网站开发平台一互联网销售
  • 如何免费制作网站?成都网站建设多少钱
  • jsp网站服务器如何做防护企业网站建设搭建
  • 网站添加关键词网站开发注意
  • 做赚钱问卷调查的网站好安徽省两学一做网站
  • 中小企业网站模板轻松筹网站可以做吗
  • 怎么兼职做网站网站源码区别
  • 网站怎么设关键词网站建设策划完整方案
  • 网站报价表怎么做网站开发asp.net和sql数据库
  • 原有网站已备案 怎么做接入开发 网站 团队
  • 网站建设猫腻公司官网网站建设
  • 网站安全检测官网泰安房产信息网网签查询
  • 推广的网站需要备案吗网站开发 只要
  • 网站备案代码如何加到四川省住房和建设厅网站
  • 润商网站建设服务网站设计制作电影
  • 网站架构图图鞍山吧
  • 网站兼容所有浏览器wordpress 上线到centos
  • 网站服务器慢网站展现形式
  • 火车票网站开发wordpress平铺图片
  • 天津做网站要多少钱做游戏奖金不被发现网站
  • 重庆网站建设选夹夹虫wordpress路由插件开发
  • 阜阳做网站公司王也道长高清头像黑白
  • php英文网站源码手机图片网站源码
  • 烟台优化网站手机oa办公系统
  • 免费个人网站建设有一个网站 人物模型可以做各种动作