Guest User

Untitled

a guest
Jun 28th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. const max_length = 10 * 60;
  3. const tracks = [
  4.     {file: "A", length: 120},
  5.     {file: "B", length: 240},
  6.     {file: "C", length: 120},
  7.     {file: "D", length: 180}
  8. ];
  9.  
  10.  
  11.  
  12. function f(list, len) {
  13.     let ways = [];
  14.     for(let i = 0; i < tracks.length; i++) {
  15.         if(!~list.indexOf(i)) {
  16.             let nextlen = len + tracks[i].length;
  17.             if(nextlen <= max_length) {
  18.                 ways = ways.concat((f(list.concat([i]), nextlen)));
  19.             }
  20.         }
  21.     }
  22.     ways = ways.concat([[len, list]]);
  23.     return ways;
  24. }
  25. var ways = f([], 0);
  26. console.log(ways.sort(function(a, b) {
  27.     return a[0] - b[0];
  28. }));
Advertisement
Add Comment
Please, Sign In to add comment