Подсчитать количество участков, которые образуют непрерывные последовательности чисел - 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));
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы