Advertisement
stanevplamen

02.09.02.02.LongestIncreasingOrder

Jun 19th, 2013
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.35 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. class LongestIncreasingOrder
  6. {
  7.     static int[] ConvertToInt(string[] arrayToConvert)
  8.     {
  9.         int[] numbArray = new int[arrayToConvert.Length];
  10.  
  11.         for (int i = 0; i < arrayToConvert.Length; i++)
  12.         {
  13.             numbArray[i] = int.Parse(arrayToConvert[i].Trim());
  14.         }
  15.         return numbArray;
  16.     }
  17.  
  18.     static int FindTheSteps(int[] numbersdArray)
  19.     {
  20.         int maxStep = (numbersdArray.Length) / 2; // + / - (moje da se namali)
  21.         int counter = 1;
  22.         int maxCounter = -1;
  23.  
  24.         // moving forwards
  25.         for (int numbs = 0; numbs < numbersdArray.Length; numbs++)
  26.         {
  27.             for (int i = 1; i <= maxStep; i++)
  28.             {
  29.                 int temp = numbersdArray[numbs];
  30.                 counter = 1;
  31.                 for (int j = numbs + i; j < numbersdArray.Length + numbs; j = j + i)
  32.                 {
  33.                     if (j >= numbersdArray.Length)
  34.                     {
  35.                         j = j - numbersdArray.Length;
  36.                     }
  37.                     if (temp < numbersdArray[j])
  38.                     {
  39.                         counter++;
  40.                     }
  41.                     if (maxCounter < counter)
  42.                     {
  43.                         maxCounter = counter;
  44.                     }
  45.                     if (temp >= numbersdArray[j])
  46.                     {
  47.                         counter = 1;
  48.                         break;
  49.                     }
  50.                     temp = numbersdArray[j];
  51.                 }
  52.             }
  53.         }
  54.  
  55.         // moving backwards
  56.  
  57.         //for (int numbs = numbersdArray.Length - 1; numbs >= 0; numbs--)
  58.         //{
  59.         //    for (int i = 1; i <= maxStep; i++)
  60.         //    {
  61.         //        int temp = numbersdArray[numbs];
  62.         //        counter = 1;
  63.         //        for (int j = numbersdArray.Length + numbs - i; j >= 0; j = j - i)
  64.         //        {
  65.         //            if (j >= numbersdArray.Length)
  66.         //            {
  67.         //                j = j - numbersdArray.Length;
  68.         //            }
  69.         //            if (temp < numbersdArray[j])
  70.         //            {
  71.         //                counter++;
  72.         //            }
  73.         //            if (maxCounter < counter)
  74.         //            {
  75.         //                maxCounter = counter;
  76.         //            }
  77.         //            if (temp >= numbersdArray[j])
  78.         //            {
  79.         //                counter = 1;
  80.         //                break;
  81.         //            }
  82.         //            temp = numbersdArray[j];
  83.         //        }
  84.         //    }
  85.         //}
  86.  
  87.         return maxCounter;
  88.     }
  89.  
  90.  
  91.     static void Main()
  92.     {
  93.         string input = Console.ReadLine();
  94.  
  95.         StringBuilder sb = new StringBuilder();
  96.         for (int i = 0; i < 2; i++)
  97.         {
  98.             sb.Append(input + ", ");
  99.         }
  100.         string usedInput = sb.ToString();
  101.         usedInput = usedInput.TrimEnd(',', ' ');
  102.         //string usedInput = input + ", " + input;
  103.  
  104.         string[] splitInput = usedInput.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
  105.         int[] splitedNumbers = ConvertToInt(splitInput);
  106.  
  107.         int exitSteps = FindTheSteps(splitedNumbers);
  108.         Console.WriteLine(exitSteps);
  109.  
  110.     }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement