Подсчитать количество участков, которые образуют непрерывные последовательности чисел - C# (182289)
Формулировка задачи:
Дан массив на 200 элементов случайных цифр в диапазоне от 0 до 100.
Подсчитать количество участков, которые образуют непрерывные последовательности чисел с не уменьшающимися значениями
Решение задачи: «Подсчитать количество участков, которые образуют непрерывные последовательности чисел»
textual
Листинг программы
//Rextester.Program.Main is the entry point for your code. Don't change it.
//Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
var rand = new Random();
var arr = new int[200];
var count = 0;
for (var i = 0; i < arr.Length; i++ )
arr[i] = rand.Next(0, 101);
var stack = new Stack<int>();
stack.Push(arr[0]);
for (var i = 1; i < arr.Length; i++) {
var tmp = stack.Pop();
if (tmp < arr[i]) {
stack.Push(tmp);
} else if (stack.Count() > 0) {
count++;
stack.Clear();
}
stack.Push(arr[i]);
}
if (stack.Count() > 1)
count++;
Console.WriteLine(string.Format("Кол-во последовательностей: {0}", count));
}
}
}