JSFiddle - React, Tailwind, and code Playground
JavaScript
// Input:
// inputStr = "awaglkawagaaaaagagaa ”
// inputK = 4
// Output:
// The substrings are => ["awag", "wagl", "aglk”, “kawa”, “waga"]
var inputStr = "awaglkawagaaa";
var inputK = 4;
function substring(str, i, k) {
let hash = {};
let valid = true;
let substring = str.substring(i, i + k);
let strArr = substring.split('');
strArr.forEach(item => {
if (!hash[item]) {
hash[item] = 1
} else if (hash[item]) {
hash[item] = hash[item] + 1;
if (hash[item] > 2) {
valid = false;
}
}
});
return {
valid,
substring
}
}
function s(str, k) {
let substrings = [];
for (let i = 0; i < inputStr.length - k; i++) {
let ss = substring(str, i, k);
if (ss.valid) {
substrings.push(ss.substring);
}
}
return substrings;
}
console.log(s(inputStr, inputK));