Difference between revisions of "LeetCode Solutions/Problem Group 2 (Flight Bookings)"

From ZCubes Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== LeetCode 1109. Corporate Flight Bookings ==
 
== LeetCode 1109. Corporate Flight Bookings ==
 
+
[[File:leetcode1109.png|thumb]]
=== ZCUBES with KEYTAGS ===
+
=== 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>
  
=== ZCUBES using Object.entries ===
+
=== 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 26: Line 26:
 
PRINT(ro)
 
PRINT(ro)
 
</pre>
 
</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>
 +
 +
'''See more:'''
 +
* [https://wiki.zcubes.com/Neet_Code_Problems Neetcode Problems] to see more leetcode style problems being solved.

Latest revision as of 13:53, 4 June 2025

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: