求数组的最长子串
var fn = function(arr,sum,index,len) {
if(index+len == arr.length){
return {sum,index,len};
}
var list = [];
var notFetch = sum;
var fetch = sum+arr[index+len];
if(fetch<notFetch){
list.push({sum:notFetch,index,len});
}
if(fetch>=0){
list.push(fn(arr,fetch,index,len+1));
}else{
list.push(fn(arr,0,index+1,0));
}
return max(list);
};
function max(arr){
return arr.sort(function(a,b){
return b.sum - a.sum;
})[0];
}
console.log(fn([1, 5, -7, 2, 6, -1, 5],0,0,0));
console.log(fn([1, 5, -7, 2, 6, -11, 5],0,0,0));
console.log(fn([1, 5, -4, 2, 6, -1, 5],0,0,0));
console.log(fn([-3,-1],0,0,0));