Skip to content

Commit ae9937a

Browse files
committed
395
1 parent beb2198 commit ae9937a

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

395.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
function longestSubstring(s: string, k: number): number {
2+
if (k === 1) return s.length;
3+
4+
let max = 0;
5+
for (let i = 0; i < s.length; i++) {
6+
let charMap = {};
7+
for (let j = i; j < s.length; j++) {
8+
const char = s[j];
9+
charMap[char] ? charMap[char]++ : (charMap[char] = 1);
10+
if (isValidCharMap(charMap, k)) {
11+
max = Math.max(max, j - i + 1);
12+
}
13+
}
14+
}
15+
16+
return max;
17+
}
18+
19+
function isValidCharMap(charMap, k: number): boolean {
20+
for (let key in charMap) {
21+
if (charMap[key] < k) return false;
22+
}
23+
return true;
24+
}
25+
26+
let s: string = "ababbc";
27+
let k: number = 2;
28+
29+
console.log(longestSubstring(s, k));

0 commit comments

Comments
 (0)