Array degree

Run Settings
LanguageJavaScript
Language Version
Run Command
const ar = [1, 2, 2, 3, 1]; const counts = {}; let degree = 0; for (let i = 0; i < ar.length; i += 1) { const key = String(ar[i]); if (counts[key]) { counts[key].to = i; counts[key].count += 1; } else { counts[key]= {}; counts[key].from = i; counts[key].to = i; counts[key].count = 1; } degree = Math.max(degree, counts[key].count); } let result = Number.MAX_VALUE; Object.keys(counts).forEach((k) => { if (counts[k].count === degree) { result = Math.min(result, counts[k].to - counts[k].from + 1); } }); console.log(counts); console.log("Degree:", degree); console.log("Answer:", result);
Editor Settings
Theme
Key bindings
Full width
Lines