K 고유 문자가 있는 가장 긴 하위 문자열
8196 단어 javascriptleetcode
주어진 문자열에서 K개 이하의 개별 문자가 포함된 가장 긴 하위 문자열의 길이를 찾습니다.
예 1:
입력: 문자열="araaci", K=2
출력: 4
설명: 고유 문자가 '2'개 이하인 가장 긴 하위 문자열은 "araa"입니다.
const longestSubstringWithKDistinctCharacters = (str, k) => {
let map = new Map();
let temp = "";
let max = 0;
let stri = "";
let end = 0;
while (str.length > end) {
const nextChar = str[end];
if (map.size < k && !map.has(nextChar)) {
map.set(nextChar, 1);
temp = temp + nextChar;
end++;
} else if (map.size <= k && map.has(nextChar)) {
map.set(nextChar, map.get(nextChar) + 1);
temp = temp + nextChar;
end++;
} else if (map.size === k && !map.has(nextChar)) {
while (map.size === k) {
// save the current
if (temp.length > max) {
max = temp.length;
stri = temp;
allArray.push(stri);
}
let startValue = temp[0];
map.set(startValue, map.get(startValue) - 1);
if (map.get(startValue) === 0) {
map.delete(startValue);
}
temp = temp.substring(1);
}
}
}
return stri;
};
console.log(longestSubstringWithKDistinctCharacters("csbebbbi", 3));
console.log(longestSubstringWithKDistinctCharacters("araaci", 2));
console.log(longestSubstringWithKDistinctCharacters("araaci", 1));
console.log(longestSubstringWithKDistinctCharacters("cbbebi", 3));
Reference
이 문제에 관하여(K 고유 문자가 있는 가장 긴 하위 문자열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zeeshanali0704/longest-substring-with-k-distinct-characters-bhf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)