CA 10 - Kadanes Algorithm

Kadane's Algorithm

Difficulty: MediumAccuracy: 36.28%Submissions: 1.2MPoints: 4Average Time: 20m

You are given an integer array arr[]. You need to find the maximum sum of a subarray (containing at least one element) in the array arr[].

Note : subarray is a continuous part of an array.

Examples:

Input: arr[] = [2, 3, -8, 7, -1, 2, 3]
Output: 11
Explanation: The subarray [7, -1, 2, 3] has the largest sum 11.
Input: arr[] = [-2, -4]
Output: -2
Explanation: The subarray [-2] has the largest sum -2.
Input: arr[] = [5, 4, 1, 7, 8]
Output: 25
Explanation: The subarray [5, 4, 1, 7, 8] has the largest sum 25.

MY CODE:

class Solution:

    def maxSubarraySum(self, arr):

        max_sum = arr[0]

        current_sum = 0


        for num in arr:

            current_sum += num


            if current_sum > max_sum:

                max_sum = current_sum


            if current_sum < 0:

                current_sum = 0


        return max_sum

Comments

Popular posts from this blog

CA 22 - Reverse a Linked List