1
var largestVariance = function (s) {
2
let chars = new Set(s.split("")),
3
maxDiff = 0;
4
for (let l of chars) {
5
for (let r of chars) {
6
if (l === r) continue;
7
let lCount = 0,
8
rCount = 0,
9
hasRight = false;
10
for (let char of s) {
11
lCount += char === l ? 1 : 0;
12
rCount += char === r ? 1 : 0;
13
if (rCount > 0 && lCount > rCount) {
14
// has both characters and positive difference
15
maxDiff = Math.max(maxDiff, lCount - rCount);
16
}
17
if (lCount > rCount && hasRight) {
18
// has positive difference and a previous "right" character we can add to the start
19
maxDiff = Math.max(maxDiff, lCount - rCount - 1);
20
}
21
if (lCount < rCount) {
22
(lCount = 0), (rCount = 0);
23
hasRight = true;
24
}
25
}
26
}
27
}
28
return maxDiff;
29
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0