Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class MaximalIncreas
- {
- static void Main()
- {
- int[] mainArray = new int[] { 1, 2, 5, 5, 3, 1, 2, 3, 4, 6, 2 };
- int length = 1;
- int count = 1;
- //Един стринг за най- дълга редица
- string longestArrayOfNums="";
- //Още един стринг за текущата редица.
- //В началото текуюата редица трябва да е равна на първия елемент от масива.
- string arrayNums = mainArray[0].ToString() + " ";
- //Може и така: string arrayNums = "1"; Но така, ако промениш масива, ще трябва да променяш и тук.
- for (int start = 0; start < mainArray.Length - 1; start++)
- {
- if (mainArray[start] == mainArray[start + 1] - 1)
- {
- count += 1;
- //Тук увеличаваш текущата редица.
- arrayNums += mainArray[start + 1] + " ";
- }
- if (count > length)
- {
- length = count;
- //Ако текущата редица е по-дълга от максималната :
- //максимлната става равна на текущата
- longestArrayOfNums = arrayNums;
- }
- //Когато редицата е прекъсната, трябва да нулираш count и arrayNums.
- else if (mainArray[start] != mainArray[start + 1] - 1)
- {
- count = 1;
- //Текущата редица става равна на следващия елемент от масива.
- arrayNums = mainArray[start + 1] + " ";
- }
- }
- Console.WriteLine(length);
- Console.WriteLine(longestArrayOfNums);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement