Leetcode #438 | #Medium | [[Скользящее окно]] | [[O(26)]] ## Идея Скользящее окно с идеей `O(26`) (`int[26]` для частот символов) ## [[Big-O]] - Время ```O(N)``` - Память ```O(1)``` ## Код ```Java class Solution { public List findAnagrams(String s, String p) { List res = new ArrayList<>(); if (s.length() < p.length()) return res; int[] b1 = new int[26], b2 = new int[26]; for (char c : p.toCharArray()) b1[c - 'a']++; int l = 0; for (int r = 0; r < s.length(); r++) { b2[s.charAt(r) - 'a']++; if (r - l + 1 > p.length()) { b2[s.charAt(l) - 'a']--; l++; } if (r - l + 1 == p.length() && Arrays.equals(b1, b2)) res.add(l); } return res; } } ```