Advertisement
cortez

Find Maximal Equal Sequence In Array

Jun 30th, 2013
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.72 KB | None | 0 0
  1. using System;
  2.  
  3. namespace MaxEqualSequence
  4. {
  5.     class MaxEqualSequence
  6.     {
  7.         static void Main()
  8.         {
  9.             Console.Write("Please enter length of the array:");
  10.  
  11.             int n = int.Parse(Console.ReadLine());
  12.             int[] numbers = new int[n];
  13.             int length = numbers.Length;
  14.             int start = 0;
  15.             int len = 0;
  16.             int num = 0;
  17.             int bestLen = 0;
  18.             string bestStart = "";
  19.  
  20.             for (int i = 0; i < length; i++)
  21.             {
  22.                 Console.Write("Enter {0} number: ", i + 1);
  23.                 numbers[i] = int.Parse(Console.ReadLine());
  24.             }
  25.             for (int j = 1; j < length; j++)
  26.             {
  27.                 if (numbers[j] == numbers[j - 1])
  28.                 {
  29.                     start++;
  30.                     if (start > len)
  31.                     {
  32.                         len = start;
  33.                         num = numbers[j];
  34.                     }
  35.                 }
  36.                 else
  37.                 {
  38.                     bestLen = len + 1;
  39.                     bestStart = "";
  40.                     for (int k = 0; k < bestLen; k++)
  41.                     {
  42.                         if (k == bestLen - 1)
  43.                         {
  44.                             bestStart += num;
  45.                         }
  46.                         else
  47.                         {
  48.                             bestStart += num + ", ";
  49.                         }
  50.                     }
  51.                     start = 0;
  52.                 }
  53.             }
  54.             Console.WriteLine("The MAXIMUM equal sequence in the array: \nNumber: {0} \nRepeated: {1} times\n--->[ {2} ]", num, bestLen, bestStart);
  55.  
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement