44 - Minimum Subarray
Written on October 21, 2015
Tweet
Given an array of integers, find the subarray with smallest sum. Return the sum of the subarray.
public class Solution {
/**
* @param nums: a list of integers
* @return: A integer indicate the sum of minimum subarray
*/
public int minSubArray(ArrayList<Integer> nums) {
if (nums == null || nums.size() == 0) return 0;
int min = Integer.MAX_VALUE, local = 0;
for (int num : nums) {
local = Math.min(local + num, num);
min = Math.min(min, local);
}
return min;
}
}
class Solution:
"""
@param: nums: a list of integers
@return: A integer indicate the sum of minimum subarray
"""
def minSubArray(self, nums):
# write your code here
if not nums:
return 0
ret = 2 ** 31 - 1
summation = 0
for num in nums:
summation = min(summation + num, num)
ret = min(ret, summation)
return ret