Eliminate Maximum Number of Monsters LeetCode solution in JavaScript
1/**2* @param {number[]} dist3* @param {number[]} speed4* @return {number}5*/6var eliminateMaximum = function (dist, speed) {7let res = 0;8let len = dist.length;9let map = new Map();10for (let i = 0; i < len; i++) {11// the last time to eliminate12let a = Math.ceil(dist[i] / speed[i]);13if (map.has(a)) {14let c = map.get(a);15c++;16map.set(a, c);17} else {18map.set(a, 1);19}20}2122let keys = Array.from(map.keys());23keys.sort((a, b) => a - b);24// time to eliminate25let t = 0;26for (let i = 0; i < keys.length; i++) {27let c = map.get(keys[i]);28if (c > keys[i] - t) {29res += keys[i] - t;30break;31} else {32res += c;33t += c;34}35}3637return res;38};