C++ :: Aufgabe #353 :: Lösung #1

1 Lösung Lösung öffentlich
#353

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ß
#1
vote_ok
von JKooP (18090 Punkte) - 17.05.2021 um 19:06 Uhr
C++ 17
Quellcode ausblenden C-Code
#include <iostream>
#include <vector>
using namespace std;

int LongestSubseq(vector<int> n)
{
    auto m{ 0 };
    auto l{ 0 };

    for (auto i{ 0 }; i < (int)n.size(); ++i)
    {
        if (i > 0 && n[i - 1] >= n[i]) m = i;
        l = max(l, i - m + 1);
    }
    return l;
}


int main()
{
    vector<int> v{ 1, 3, 5, 4, 7, 8, 9, 10, 6, 2, 3, 4 };
    std::cout << LongestSubseq(v);
}

Kommentare:

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

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