1var strangePrinter = function (s) {2if (!s) return 0;34const N = s.length;5const state = Array.from({ length: N }, () => Array.from({ length: N }));67for (let i = 0; i < N; i++) {8// Printing one character always takes one attempt9state[i][i] = 1;10}1112const search = (i, j) => {13if (state[i][j]) return state[i][j];1415state[i][j] = Infinity;16for (let k = i; k < j; k++) {17state[i][j] = Math.min(state[i][j], search(i, k) + search(k + 1, j));18}19if (s[i] === s[j]) state[i][j]--;20return state[i][j];21};2223return search(0, N - 1);24};