Minimize the Difference Between Target and Chosen Elements LeetCode solution in JavaScript
1var minimizeTheDifference = function (mat, target) {2const MAX = Number.MAX_SAFE_INTEGER;34const m = mat.length;5const n = mat[0].length;67const memo = [];89for (let i = 0; i < m; ++i) {10memo[i] = new Array(4901).fill(MAX);11}1213return topDown(0, 0);1415function topDown(row, sum) {16if (row === m) return Math.abs(target - sum);17if (memo[row][sum] != MAX) return memo[row][sum];1819let min = MAX;2021mat[row].sort((a, b) => a - b);2223const set = new Set(mat[row]);2425for (const num of set) {26const res = topDown(row + 1, sum + num);2728if (res > min) break;29min = res;30}3132memo[row][sum] = min;3334return min;35}36};