“Trouver une somme maximale dans la gamme de sous-barres contiguës” Réponses codées

Trouver une somme maximale dans la gamme de sous-barres contiguës

#include <iostream>

using namespace std;

int main(){
    //Input Array
    int n;
    cin >> n;
    int arr[n];
    for(int i =0;i< n;i++){
    cin >> arr[i];
    }

    int currentSum = 0;
    int maxSum = INT_MIN;
    //algo
    for (int i = 0; i < n; i++)
    {
        currentSum += arr[i];
        if (currentSum <0)
        {
            currentSum = 0;
        }
        maxSum = max(maxSum, currentSum);
    }
    cout << maxSum << endl;

    return 0;
}
baba

Trouvez la sous-bande la plus longue par somme

def max_length(s, k):
    current = []
    max_len = -1 # returns -1 if there is no subsequence that adds up to k.
    for i in s:
        current.append(i)
        while sum(current) > k: # Shrink the array from the left, until the sum is <= k.
           current = current[1:]
        if sum(current) == k:
            max_len = max(max_len, len(current))

    return max_len
Gorgeous Gerbil

Réponses similaires à “Trouver une somme maximale dans la gamme de sous-barres contiguës”

Questions similaires à “Trouver une somme maximale dans la gamme de sous-barres contiguës”

Plus de réponses similaires à “Trouver une somme maximale dans la gamme de sous-barres contiguës” dans C++

Parcourir les réponses de code populaires par langue

Parcourir d'autres langages de code