BorislavBorisov

Редици.06.01.Най-дългата нараств. подредица от съседни числа

Oct 31st, 2015
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.22 KB | None | 0 0
  1. using System;
  2. class LongestDecrisingSubs
  3. {
  4.     static void Main()
  5.     {
  6.         int[] myArray = { 1, 2, 3, 1, 24, 1, 123, 345, 345 };
  7.         FindLongestSubsequence(myArray);
  8.     }
  9.  
  10.     static void FindLongestSubsequence(int[] myArray)
  11.     {
  12.         int len = 1, bestLen = 0, endIndex = 0;
  13.  
  14.         for (int i = 0; i < myArray.Length - 1; i++)
  15.         {
  16.             if(myArray[i] < myArray[i + 1])//ако е с равно дава и и равните числа като подредижа
  17.             {
  18.                 len++;
  19.             }
  20.             else if(len > bestLen)//ако е с равно дава дясната
  21.             {
  22.                 endIndex = i;
  23.                 bestLen = len;
  24.                 len = 1;
  25.             }
  26.             else//ако е по-малка пак сетяай на едно
  27.             {
  28.                 len = 1;
  29.             }
  30.         }
  31.         if(len > bestLen)
  32.         {
  33.             endIndex = myArray.Length - 1;
  34.             bestLen = len;
  35.         }
  36.         Console.Write("Longest subsequence: ");
  37.         for (int i = endIndex - bestLen + 1; i <= endIndex; i++)
  38.         {
  39.             Console.Write(myArray[i] + " ");
  40.         }
  41.         Console.WriteLine();
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment