两个字符串S1,S2判断S2是否含有S1的任一排列
1.s1全排列一下 s2中find
2.滑动窗口,strlen(s1)长度内 含有的字符是否相同
private function cmp( s t r 1 , str1, str1,str2){
$len1 = strlen($str1);
$len2 = strlen($str2);
$arr1 = [];
$arr2 =[];
for($i=0; $i<$len1;$i++) {
$arr1[ord($str1[$i])-ord('a')] ++;
$arr2[ord($str2[$i])-ord('a')] ++;
}
if($arr1 == $arr2) return true;
for($i=0;$i+$len1<$len2;$i++){
if($arr2[ord($str2[$i])-ord('a')] < 2){
unset($arr2[ord($str2[$i])-ord('a')]);
}else{
$arr2[ord($str2[$i])-ord('a')]--;
}
$arr2[ord($str2[$i+$len1])-ord('a')] ++;
if($arr1 == $arr2)return true;
}
return false;
}