الگوریتمی برای یافتن حداکثر مجموع در یک آرایه داده شده مشخص کنید.
[1,2,3,4]
الگوریتمی برای یافتن حداکثر مجموع در یک آرایه داده شده در زیر توضیح داده شده است:

1. با مقداردهی اولیه یک متغیر `max_sum` به اولین عنصر آرایه شروع کنید.
2. یک متغیر دیگر به نام `current_sum` ایجاد کنید و آن را نیز به مقدار اولین عنصر تنظیم کنید.
3. از عنصر دوم شروع به حلقه زدن در آرایه کنید و شرایط زیر را دنبال کنید. برای هر تکرار `i-ام`:
   - اگر `current_sum < 0` است، `current_sum` را به `array[i]` تنظیم کنید.
   - در غیر این صورت، مقدار را در `current_sum` با اضافه کردن `array[i]` (`current_sum += array[i]`) جمع کنید.
   - `current_sum` را با `max_sum` مقایسه کنید، اگر بزرگتر است، مقدار `max_sum` را به‌روزرسانی کنید.
4. مقدار نگهداری شده در `max_sum` را برگردانید.

برای input داده شده [1, 2, 3, 4]، حداکثر مجموع 10 خواهد بود که از جمع تمام عناصر آرایه به دست می‌آید.

در اینجا پیاده‌سازی به زبان پایتون آمده است:

```python
def max_sum(array):
    max_sum = current_sum = array[0]
    for i in range(1,len(array)):
        current_sum = max(array[i], current_sum + array[i])
        max_sum = max(max_sum, current_sum)
    return max_sum
```