Advertisement
stefanpu

LongestIncreasingSeq

Jan 13th, 2013
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.94 KB | None | 0 0
  1. using System;
  2.  
  3. class MaximalIncreas
  4. {
  5.     static void Main()
  6.     {
  7.         int[] mainArray = new int[] { 1, 2, 5, 5, 3, 1, 2, 3, 4, 6, 2 };
  8.         int length = 1;
  9.         int count = 1;
  10.         //Един стринг за най- дълга редица
  11.         string longestArrayOfNums="";
  12.  
  13.         //Още един стринг за текущата редица.
  14.         //В началото текуюата редица трябва да е равна на първия елемент от масива.        
  15.         string arrayNums = mainArray[0].ToString() + " ";
  16.         //Може и така: string arrayNums = "1";  Но така, ако промениш масива, ще трябва да променяш и тук.
  17.  
  18.         for (int start = 0; start < mainArray.Length - 1; start++)
  19.         {
  20.             if (mainArray[start] == mainArray[start + 1] - 1)
  21.             {
  22.                 count += 1;
  23.                 //Тук увеличаваш текущата редица.
  24.                 arrayNums += mainArray[start + 1] + " ";
  25.             }
  26.             if (count > length)
  27.             {
  28.                 length = count;
  29.                 //Ако текущата редица е по-дълга от максималната :
  30.                 //максимлната става равна на текущата
  31.                 longestArrayOfNums = arrayNums;              
  32.             }
  33.             //Когато редицата е прекъсната, трябва да нулираш count и arrayNums.
  34.             else if (mainArray[start] != mainArray[start + 1] - 1)
  35.             {
  36.                 count = 1;
  37.  
  38.                 //Текущата редица става равна на следващия елемент от масива.
  39.                 arrayNums = mainArray[start + 1] + " ";
  40.             }
  41.         }
  42.         Console.WriteLine(length);
  43.         Console.WriteLine(longestArrayOfNums);
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement