1
var uniqueLetterString = function (s) {2
// Returns the number of unique characters inside the window [left, right]3
const countUniqueCharacters = (left, right) => {4
const counts = new Map();5
for (let i = left; i < right; i += 1) {6
counts.set(s[i], (counts.get(s[i]) || 0) + 1);8
return Array.from(counts.values()).filter((x) => x === 1).length;12
const seen = new Set();13
const substring = (left, right) => {14
if (seen.has(`${left}, ${right}`)) return;15
if (right - left <= 0) return;17
seen.add(`${left}, ${right}`);19
sum += countUniqueCharacters(left, right);21
for (let i = left; i < right; i += 1) {22
substring(left + 1, right);23
substring(left, right - 1);27
substring(0, s.length);