描述:字符串s1的排列是字符串s2的子串,比如:ab是cbad的子串,ab不是cbda的子串
解法:滑动窗口
- 将s1进行编码,由于子串排列无需考虑顺序,则可用1表示字符,0表示空字符
- 故ab编码为数值数组s1Array = [1,1,0,0,0], 每个子串编码为26个字符,此处简化为5个字符
- 循环(步长为1个字符)取s2字符串的2个字符进行编码,命名s2Array
- 当s1Array 等于 s2Array ,则s1排列是s2的子串
总结:采用统一编码,忽略了字符的顺序
参考资料
Hollis 大神的《2023全新Java面试宝典课程,八股文学习资料》