Maximum Number of Points with Cost LeetCode solution in JavaScript
1var maxPoints = function (points) {2let prev = points[0];3let curr = Array(points[0].length);45for (let i = 1; i < points.length; i++) {6// from left to right;7for (let j = 0, maxAdd = 0; j < points[0].length; j++) {8maxAdd = Math.max(maxAdd - 1, prev[j]);9curr[j] = points[i][j] + maxAdd;10}1112for (let j = points[0].length - 1, maxAdd = 0; j >= 0; j--) {13maxAdd = Math.max(maxAdd - 1, prev[j]);14curr[j] = Math.max(curr[j], points[i][j] + maxAdd);15}1617prev = curr;18curr = Array(points[0].length);19}20return Math.max(...prev);21};