LeetCode Solutions/Problem Group 2 (Flight Bookings)

From ZCubes Wiki
Jump to navigation Jump to search

LeetCode 1109. Corporate Flight Bookings

Leetcode1109.png

In Z^3 using KEYTAGS

bookings = [[1,2,10],[2,3,20],[2,5,25]], 
n = 5;
ro={};
f=(x,y)=>ro[x]=(ro[x]||0) + y;
f#;
bookings.map(r=>f((r[0])..(r[1]),r[2]));
ro
KEYTAGS(ro).map(r=>[r[0],SUM(r[1])])
PRINT(ro)

In Z^3 using Object.entries

bookings = [[1,2,10],[2,3,20],[2,5,25]], 
n = 5;
ro={};
f=(x,y)=>ro[x]=(ro[x]||0) + y;
f#;
bookings.map(r=>f((r[0])..(r[1]),r[2]));
ro
Object.entries(ro).map(r=>[r[0],SUM(r[1])]);
PRINT(ro)

In Javascript

let final_vals = {};

function ranger(start, end, step = 1, book) {
    for (let i = start; i <= end; i += step) {
        if (i in final_vals) {
            final_vals[i] += book;
        } else {
            final_vals[i] = book;
        }
    }
}

let bookings = [[1,2,10],[2,2,15]];

for (let i = 0; i < bookings.length; i++) {
    let pre_range = bookings[i];
    let range = pre_range.slice(0, 2); 
    let book = pre_range[2]; 
    ranger(range[0], range[1], 1, book);
}

console.log(final_vals);

See more: