Difference between revisions of "LeetCode Solutions/Problem Group 2 (Flight Bookings)"
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
== LeetCode 1109. Corporate Flight Bookings == | == LeetCode 1109. Corporate Flight Bookings == | ||
[[File:leetcode1109.png|thumb]] | [[File:leetcode1109.png|thumb]] | ||
| − | === | + | === In Z^3 using KEYTAGS === |
<pre> | <pre> | ||
bookings = [[1,2,10],[2,3,20],[2,5,25]], | bookings = [[1,2,10],[2,3,20],[2,5,25]], | ||
| Line 14: | Line 14: | ||
</pre> | </pre> | ||
| − | === | + | === In Z^3 using Object.entries === |
<pre> | <pre> | ||
bookings = [[1,2,10],[2,3,20],[2,5,25]], | bookings = [[1,2,10],[2,3,20],[2,5,25]], | ||
| Line 25: | Line 25: | ||
Object.entries(ro).map(r=>[r[0],SUM(r[1])]); | Object.entries(ro).map(r=>[r[0],SUM(r[1])]); | ||
PRINT(ro) | PRINT(ro) | ||
| + | </pre> | ||
| + | |||
| + | === In Javascript === | ||
| + | <pre> | ||
| + | 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); | ||
</pre> | </pre> | ||
Revision as of 13:49, 4 June 2025
LeetCode 1109. Corporate Flight Bookings
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);
