博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前缀和
阅读量:5112 次
发布时间:2019-06-13

本文共 834 字,大约阅读时间需要 2 分钟。

  例:求一个数组的和为0的连续最长子串

  arr[]数组存放原数组,sum[]为前缀和数组,用map存储前缀和每一个数字第一次出现的下标。比如现在前缀和为10,所以要查找前缀和为-10第一次出现的位置,找道后就是前缀和为10的和为0的最长的子段。

  代码如下:

1 #include 
2 #include
3 #include
4 #include
5 6 using namespace std; 7 8 // O(n^2) 9 int longestSubArrayOfSumZero_1(const vector
&arr){10 int sz=arr.size();11 vector
preSum(sz+1,0);12 13 for(int i=0;i
longest){22 longest=i-j;23 start=j;24 }25 }26 }27 for(int i=start;i
&arr){36 int sz=arr.size();37 int longest=0;38 map
pos;39 int sum=0;40 pos[sum]=0;41 int start=0;42 43 for(int i=0;i
longest){48 longest=len;49 start=pos[sum];50 }51 }52 else53 pos[sum]=i;54 55 }56 for(int i=start;i
arr(n);66 for(int i=0;i

 

转载于:https://www.cnblogs.com/wz-archer/p/10163029.html

你可能感兴趣的文章
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
伪类与超链接
查看>>
centos 7 redis-4.0.11 主从
查看>>
博弈论 从懵逼到入门 详解
查看>>
永远的动漫,梦想在,就有远方
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
慵懒中长大的人,只会挨生活留下的耳光
查看>>
"远程桌面连接--“发生身份验证错误。要求的函数不受支持
查看>>
【BZOJ1565】 植物大战僵尸
查看>>
VALSE2019总结(4)-主题报告
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>