6
const getLast = (ar) => ar[ar.length - 1];7
var maxRepOpt1 = function (text) {10
// compute frequency map11
for (let i = 0; i < text.length; i++) {13
!freq[e] && (freq[e] = 0);24
for (let i = 1; i < text.length; i++) {26
let last = getLast(segments);30
max = Math.max(max, last.c);32
segments.push({ v: e, c: 1 });36
for (let i = 0, len = segments.length; i < len; i++) {37
let { v, c } = segments[i];39
// x x a , a x x , x a x40
max = Math.max(max, c + 1);42
if (i + 2 < len && v == segments[i + 2].v) {43
// x a x a x a x a x x a x a44
let sum = c + segments[i + 2].c;45
if (segments[i + 1].c == 1) {47
max = Math.max(max, 1 + sum);49
max = Math.max(max, sum);