Files
roma-dxunvrs 0e6e583e6d
deploy / Pull and Restart (push) Successful in 17s
refactor: wiki links -> md links
2026-09-22 08:52:23 +03:00

26 lines
1.0 KiB
Markdown

Leetcode #567 | #Medium | [O(26)](../../Методы/O(26).md) | [Скользящее окно](../../Методы/Скользящее%20окно.md)
## Идея
Фиксированное скользящее окно, двигаем l пока длина не s1.length(). Опять идея бакетов за O(26). Сравнение temp и исходного массива частот за O(26).
## Big-O
- Время ```O(N)```
- Память ```O(1)```
## Код
```Java
class Solution {
public boolean checkInclusion(String s1, String s2) {
if (s1.length() > s2.length()) return false;
int[] b1 = new int[26], b2 = new int[26];
for (char c : s1.toCharArray()) b1[c - 'a']++;
int l = 0;
for (int r = 0; r < s2.length(); r++) {
b2[s2.charAt(r) - 'a']++;
while (r - l + 1 > s1.length()) {
b2[s2.charAt(l) - 'a']--;
l++;
}
if (Arrays.equals(b1, b2)) return true;
}
return false;
}
}
```