Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const max_length = 10 * 60;
- const tracks = [
- {file: "A", length: 120},
- {file: "B", length: 240},
- {file: "C", length: 120},
- {file: "D", length: 180}
- ];
- function f(list, len) {
- let ways = [];
- for(let i = 0; i < tracks.length; i++) {
- if(!~list.indexOf(i)) {
- let nextlen = len + tracks[i].length;
- if(nextlen <= max_length) {
- ways = ways.concat((f(list.concat([i]), nextlen)));
- }
- }
- }
- ways = ways.concat([[len, list]]);
- return ways;
- }
- var ways = f([], 0);
- console.log(ways.sort(function(a, b) {
- return a[0] - b[0];
- }));
Advertisement
Add Comment
Please, Sign In to add comment