var checkInclusion = function(s1, s2) {
if (s1.length > s2.length) {
const s1Map = Array.from({ length: 26 }, () => 0);
const s2Map = Array.from({ length: 26 }, () => 0);
for (let i = 0; i < s1.length; i++) {
s1Map[s1.charCodeAt(i) - "a".charCodeAt(0)] += 1;
s2Map[s2.charCodeAt(i) - "a".charCodeAt(0)] += 1;
for (let i = 0; i < s2.length - s1.length; i++) {
if (hasMatchingFrequencies(s1Map, s2Map)) {
s2Map[s2.charCodeAt(i + s1.length) - "a".charCodeAt(0)] += 1;
s2Map[s2.charCodeAt(i) - "a".charCodeAt(0)] -= 1;
return hasMatchingFrequencies(s1Map, s2Map);
function hasMatchingFrequencies(s1Map, s2Map) {
return s1Map.every((s1Count, idx) => s1Count === s2Map[idx]);