--

# Problem Statement:

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

A subarray is a contiguous part of an array.

Input format:

`Array`

Output format:

`Maximum possible sum of elements in subarrays.`

.

Example 1:

`Input: nums = [-2,1,-3,4,-1,2,1,-5,4]Output: 6Explanation: [4,-1,2,1] has the largest sum = 6.`

Example 2:

`Input: nums = [1]Output: 1`

Example 3:

`Input: nums = [5,4,-1,7,8]Output: 23`

Constraints:

`1 <= nums.length <= 10⁵-10⁴ <= nums[i] <= 10⁴`

# Approach 1-Iterating along the array:

We iterate along the array and create another vector array to push the elements into it & formed desired subarray. The subarray returning highest sum, returns the final answer.

Time complexity: O(n²)

Code for approach 1:

The algorithm works on the sense that instead of finding each possible sub-array, we may iterate through the array once and find the maximum possible sum. To do so, we will keep on adding value of each element to a declared variable. It will be turned zero if sum turns out be negative.

This works on the basis that sub-arrays are contiguos as well as each element is part of a sub-array.

Code for Approach-2: