Выяснить, является ли вторая последовательность подпоследовательностью первой - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. С# изучаю совсем недавно, недавно получил такое задание, пока даже не знаю, как подобраться. Помогите, пожалуйста, если не кодом консольного приложения, то хотя бы примерным алгоритмом. Заранее спасибо!

Даны две последовательности x[1]..x[n] и y[1]..y[k] целых чисел. Выяснить, является ли вторая последовательность подпоследовательностью первой, т. е. можно ли из первой вычеркнуть некоторые члены так, чтобы осталась вторая.

Решение задачи: «Выяснить, является ли вторая последовательность подпоследовательностью первой»

textual
Листинг программы
static class Program
{
    static void Main(string[] args)
    {
        int[] array1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}, array2 = {2, 4, 6, 8};
        Console.WriteLine(array1.IsSubSeq(array2));
        Console.ReadKey();
    }
 
    public static bool IsSubSeq<T>(this IEnumerable<T> main, IEnumerable<T> subSeq)
        where T : IEquatable<T>
    {
        IEnumerator<T> iterator = subSeq.GetEnumerator();
        iterator.MoveNext();
        return main.Any(el => el.Equals(iterator.Current) && !iterator.MoveNext());
    }
}

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


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

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

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