Largest Range

nlog, 1
function largestRange(arr) {
arr.sort((a, b) => a - b);
console.log({ arr });
let max = [arr[0], arr[0]];
let range = [arr[0], arr[0]];
for (let i = 1; i < arr.length; i++) {
// same or diff is 1
if (arr[i] - arr[i - 1] <= 1) {
// extend
range[1] = arr[i];
continue;
}
console.log({
range
});
// update
const curr = Math.abs(max[1] - max[0]);
const next = Math.abs(range[1] - range[0]);
if (curr < next) {
max = range;
}
// default
range = [arr[i], arr[i]];
}
// update
const curr = Math.abs(max[1] - max[0]);
const next = Math.abs(range[1] - range[0]);
if (curr < next) {
max = range;
}
return max;
}
// Do not edit the line below.
exports.largestRange = largestRange;n, n
Last updated