Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. function spargemSubSirA(values) {
  4.     var results = [];
  5.     var subsir;
  6.    
  7.     for(var i = 0; i < values.length; i++) {
  8.        
  9.         var currentElement = values[i];
  10.         if(typeof subsir === "undefined") {
  11.             subsir = [];
  12.             subsir.push(currentElement);
  13.         } else {
  14.             if(!subsir.includes(currentElement)) {
  15.                 results.push(subsir);
  16.                 subsir = [];
  17.             }
  18.             subsir.push(currentElement);
  19.         }
  20.     }
  21.  
  22.     return results;
  23. }
  24.  
  25.  
  26. function spargemSubSirB(values) {
  27.     var results = [];
  28.     var subsir = [];
  29.    
  30.     for(var i = 0; i < values.length; i++) {
  31.        
  32.         var currentElement = values[i];
  33.         // avem elementul curent in sub sirul actual ?
  34.         if(subsir.includes(currentElement)) {
  35.             // da, adauga si mergi mai departe
  36.             subsir.push(currentElement);
  37.         } else {
  38.             // nu este, atunci trebuie sa facem un sub sir nou
  39.            
  40.             // numa in cazu in care am trecut de primul element
  41.             if(i > 0) {
  42.                 // resetam sub sirul
  43.                 results.push(subsir);
  44.                 subsir = [];
  45.             }
  46.             // adauga elementul in sub sir
  47.             subsir.push(currentElement);
  48.         }
  49.     }
  50.     return results;
  51. }
  52.  
  53. function gasesteLungimeMaxima( subsiruri ) {
  54.  
  55.     var max = 0;
  56.     var foundIndex = 0;
  57.     var lengths = [];
  58.  
  59.     for(var i = 0; i < subsiruri.length; i++) {
  60.         var currentSir = subsiruri[i];
  61.         lengths[i] = currentSir.length;
  62.         if(currentSir.length > max) {
  63.             max = currentSir.length;
  64.         }
  65.     }
  66.  
  67.     // return [max, lengths, "bau"];
  68.     return {"lengths": lengths, "max": max, "cucu": "bau"};
  69.  
  70. }
  71.  
  72. function getSubsiruriCuLenth(subsiruri, maxReturn) {
  73.  
  74.     // max = maxReturn[0];
  75.     // lengths = maxReturn[1];
  76.     // whatever = maxReturn[2];
  77.  
  78.     max = maxReturn.max;
  79.     lengths = maxReturn.lengths;
  80.     lengths = maxReturn.cucu;
  81.  
  82.  
  83.     var returnVals = [];
  84.     for(var i = 0; i < lengths.length; i++) {
  85.         var currentSirLenth = lengths[i];
  86.         if(currentSirLenth == max) {
  87.             returnVals.push(subsiruri[i]);
  88.         }
  89.     }
  90.     return returnVals;
  91. }
  92.  
  93. var sir = [
  94.     1,1,1,1,2,3,3,1,2,2,2,2,5,5,5,5,2,2,2
  95. ];
  96.  
  97. console.log( spargemSubSirA(sir) );
  98. console.log( spargemSubSirB(sir) );
  99.  
  100. var subsiruri = spargemSubSirA(sir);
  101. console.log(
  102.     getSubsiruriCuLenth(
  103.         subsiruri,
  104.         gasesteLungimeMaxima( subsiruri )
  105.     )
  106. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement