带正负数的连续子数组最大长度

未排序数组中累加和为给定值的最长子数组长度

http://www.nowcoder.com/questionTerminal/36fb0fd3c656480c92b569258a1223d5

include <bits/stdc++.h>

using namespace std;

int main()
{
int n,k,t,len=0;
cin>>n>>k;
vector<int> arr(n+1,0);
for(int i=1;i<=n;i++)
{
cin>>t;
arr[i]=arr[i-1]+t;
if(arr[i]==k)
len=max(len,i);
}
for(int i=1;i<=n;i++)
for(int j=n;j>=i+len;j--) //j<i+len时,则长度必定小于len,比较无意义
{
if(arr[j]-arr[i]==k)
{
len = max(len,j-i);
break;
}
}
cout<<len<<endl;
return 0;
}</int>

全部评论

相关推荐

未知的命运:大佬这都找不到我还找啥啊
点赞 评论 收藏
分享
双尔:反手回一个很抱歉,经过慎重考虑,您与我的预期暂不匹配,感谢您的投递
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务