Odpowiedź:
#include <iostream>
#include <vector>
#include <algorithm>
int longestSubsequence(const std::vector<int> &numbers) {
int maxi = INT_MIN; //zmienna do przechowaywania najwiekszego podciagu zainicjalizowana minimalnym intem
int counter = 0; //zmienna licznik do zliczania dlugosci podciagu
for (const auto &number: numbers) { //petla po tablicy
if (number > 0) { //jesli wartosc w tablicy jest wieksza od 0, to zwiekszamy counter czyli dlugosc podciagu
counter++;
}
if (number < 0) { //jesli jest mniejsza, to sprawdzamy czy jest to najwiekszy podciag, a potem zerujemy licznik
maxi = std::max(maxi, counter);
counter = 0;
return maxi;
int main() {
std::vector<int> numbers = {4, 3, 2, 1, -1, -2, 2, 1, 2, 3, 4, 5, -3, -2, 1, 2, 3};
std::cout << longestSubsequence(numbers);
return 0;
Wyjaśnienie:
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Odpowiedź:
#include <iostream>
#include <vector>
#include <algorithm>
int longestSubsequence(const std::vector<int> &numbers) {
int maxi = INT_MIN; //zmienna do przechowaywania najwiekszego podciagu zainicjalizowana minimalnym intem
int counter = 0; //zmienna licznik do zliczania dlugosci podciagu
for (const auto &number: numbers) { //petla po tablicy
if (number > 0) { //jesli wartosc w tablicy jest wieksza od 0, to zwiekszamy counter czyli dlugosc podciagu
counter++;
}
if (number < 0) { //jesli jest mniejsza, to sprawdzamy czy jest to najwiekszy podciag, a potem zerujemy licznik
maxi = std::max(maxi, counter);
counter = 0;
}
}
return maxi;
}
int main() {
std::vector<int> numbers = {4, 3, 2, 1, -1, -2, 2, 1, 2, 3, 4, 5, -3, -2, 1, 2, 3};
std::cout << longestSubsequence(numbers);
return 0;
}
Wyjaśnienie: