Advertisement
dimipan80

Maximal Sequence

Nov 12th, 2014
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Write a JavaScript function findMaxSequence(arr) that finds the maximal sequence of equal elements in
  2. an array and returns the result as an array. If there is more than one sequence with the same maximal length,
  3. print the rightmost one. Write JS program sequenceFinder.js that invokes your function with the sample
  4. input data below and prints the output at the console. */
  5.  
  6. "use strict";
  7.  
  8. function findMaxSequence(arr) {
  9.     if (arr.length > 1) {
  10.         var equalsElements = 0;
  11.         var currentEquals = 1;
  12.         var repeatElement = arr[0];
  13.         var i;
  14.         for (i = 1; i < arr.length; i +=  1) {
  15.             if (arr[i] === arr[i - 1]) {
  16.                 currentEquals += 1;
  17.             } else {
  18.                 if (currentEquals >= equalsElements) {
  19.                     repeatElement = arr[i - 1];
  20.                     equalsElements = currentEquals;
  21.                 }
  22.                 currentEquals = 1;
  23.             }
  24.         }
  25.  
  26.         if (currentEquals >= equalsElements) {
  27.             repeatElement = arr[arr.length - 1];
  28.             equalsElements = currentEquals;
  29.         }
  30.  
  31.         var resultArr = [];
  32.         do {
  33.             resultArr.push(repeatElement);
  34.             equalsElements -= 1;
  35.         } while (equalsElements);
  36.         return resultArr;
  37.     } else {
  38.         return arr;
  39.     }
  40. }
  41.  
  42. console.log(findMaxSequence([2, 1, 1, 2, 3, 3, 2, 2, 2, 1]));
  43. console.log(findMaxSequence(['happy']));
  44. console.log(findMaxSequence([2, 'qwe', 'qwe', 3, 3, '3']));
  45. console.log(findMaxSequence([2, 1, 1, 2, 2, 2, 2, 1, 3, 3, 3, 3, 2, 2, 2, 1]));
  46. console.log(findMaxSequence([]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement