Maximum Subarray IV
来源:互联网 发布:软件通用启动程序 编辑:程序博客网 时间:2024/05/19 19:59
Given an integer arrays, find a contiguous subarray which has the largest sum and length should be greater or equal to given length k
.
Return the largest sum, return 0 if there are fewer than k elements in the array.
Notice
Ensure that the result is an integer type.
Example
Given the array [-2,2,-3,4,-1,2,1,-5,3]
and k = 5
, the contiguous subarray [2,-3,4,-1,2,1]
has the largest sum = 5
.
java
public class Solution { /* * @param nums: an array of integer * @param k: an integer * @return: the largest sum */ public int maxSubarray4(int[] nums, int k) { // write your code here if (nums == null || nums.length == 0 || k <= 0 || nums.length < k) { return 0; } int[] preSum = new int[nums.length + 1]; preSum[0] = 0; int max = Integer.MIN_VALUE; int min = 0; for (int i = 1; i <= nums.length; i++) { preSum[i] = preSum[i - 1] + nums[i - 1]; if (i >= k && max < preSum[i] - min) { max = preSum[i] - min; } if (i >= k) { min = Math.min(min, preSum[i - k + 1]); } } return max; }}
python
class Solution: """ @param: nums: an array of integer @param: k: an integer @return: the largest sum """ def maxSubarray4(self, nums, k): # write your code here if nums is None or len(nums) == 0 or k <= 0 or len(nums) < k: return 0 preSum, maxVal, minVal = [0] * (len(nums) + 1), float('-inf') ,0 for i in range(1, len(nums) + 1): preSum[i] = preSum[i - 1] + nums[i - 1] if i >= k and maxVal < preSum[i] - minVal: maxVal = preSum[i] - minVal if i >= k: minVal = min(minVal, preSum[i - k + 1]) return maxVal
阅读全文
0 0
- Maximum Subarray IV
- maximum subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Android音频子系统,Audiopolicyservice音频策略的制定(五)
- CoordinatorLayout使用浅析
- oracle 存储过程执行报错ORA-12828
- 安装SQL
- Intent与IntentFilter的全面进阶
- Maximum Subarray IV
- React-Router4.0多级配置&自定义跳转
- 笔记 35 | java线程之线程安全与非线程安全
- Java基础(高级)——多线程的理解和Synchronized实例,以及线程间通信,wait,notify等方法
- 初学Linux杂记(一)
- Java中的反射机制
- 初始化Git仓库(Mac环境下)
- abstract = True
- 中央财经大学图书馆:座位对应的人Name获取