C# :: Aufgabe #383 :: Lösung #2

2 Lösungen Lösungen öffentlich
#383

Längste aufsteigende Zahlenfolge im Array

Anfänger - C# von JKooP - 16.04.2021 um 18:05 Uhr
Gegeben ist ein Array bestehend aus aufsteigenden Integer-Zahlenfolgen,
die hin und wieder durch nicht in die Folge passende Zahlen unterbrochen werden.
Ziel soll es sein, die längste aufsteigende Zahlenfolge zu ermittelt.

Beispiel 1:
arr = {1, 3, 5, 4, 7, 8, 9, 10, 6, 2, 3, 4}
Lösung: 5 => {4, 7, 8, 9, 10}

Beispiel 2:
arr = {5, 5, 5, 5, 5}
Lösung: 1 => {5}

Schreibe eine Methode/Funktion, die als Ergebnis die Länge der längsten Zahlenfolge ausgibt.

Viel Spaß
#2
vote_ok
von JKooP (18090 Punkte) - 19.04.2021 um 20:32 Uhr
NET 5.x; C# 9.x; VS-2019
Quellcode ausblenden C#-Code
using System;

var s = new int[] { 1, 3, 5, 4, 7, 8, 9, 10, 6, 2, 3, 4 };

Console.WriteLine(LongestSubseq(s));

static int LongestSubseq(int[] n)
{
    var m = 0;
    var l = 0;
    for (var i = 0; i < n.Length; ++i)
    {
        if (i > 0 && n[i - 1] >= n[i]) m = i;
        l = Math.Max(l, i - m + 1);
    }
    return l;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben