您的位置:首页 > 财经 > 金融 > 设计网站怎么设计_模板制作工艺流程_微信引流推广_合肥网站推广公司哪家好

设计网站怎么设计_模板制作工艺流程_微信引流推广_合肥网站推广公司哪家好

2024/12/23 8:13:02 来源:https://blog.csdn.net/weixin_44554979/article/details/142327007  浏览:    关键词:设计网站怎么设计_模板制作工艺流程_微信引流推广_合肥网站推广公司哪家好
设计网站怎么设计_模板制作工艺流程_微信引流推广_合肥网站推广公司哪家好

我的思路

  1. 先计算子串的字符的ascll码值的和,看看这个值是否相等,我认为可以筛掉一一部分
  2. 就是子串和要比较的串排序比较是否相等

但是超时,样例太长了

在这里插入图片描述

题解思路

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

其实应该也是双指针,关键是自己没想到两个数组怎么比较大小,其实也是统计字符次数

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com