1.概述
看这个首先看文章:【算法】正数数组、子数组元素和为K,最长子数组长度
给定一个无序数组arr,其中元素可正、可负、可0
,给定一个整数k。求arr所有的子数组
中累加和
小于或等于 k
的最长子数组长度
。
例如:arr=[3,-2,-4,0,6],k=-2
,相加和小于或等于-2
的最长子数组为 (3,-2,-4,0}
,所以结果返回4.
2.分析
做这个题,我们首先要搞出来结果信息
第一个信息是minSum,minSum[i]表示必须从i出发的子数组,所能取到的最小累加和是多少
。
第2个信息是minSumEnd,minSumEnd[i]表示必须从i出发的子数组取得最小minSu