leetcode 438
给定一个长度为m的aim的字符串,以及一个长度为n的字符串str,能否在str中找到一个长度为m的连续子串,这个子串刚好由aim的m字符构成,顺序无所谓,返回满足子串的起始位置,未找到返回-1
1.第一种暴力的解法,取aim中所有长度为m的子串,依次和str判断是否满足要求
2.使用双指针技巧解决,双指针的长度为m
暴力解法:
//暴力解法
public List<Integer> findAnagramsForce(String s, String p) {
int m = p.length();
if (s.length() < m) return new ArrayList();
List<Integer> res = new ArrayList<>();
for(int i = 0;i <= s.length() - m;i++){
if(isAnagram(s.substring(i,i+m),p)) {
res.add(i);
}
}
return res;
}
private boolean isAnagram(String s1,String s2){
if(s1.