Kadane’s algorithm

简单来说就是用来计算数组中的连续子数组之和最大是多少

vector<int> vec;
int temp = 0,ans = 0;
for(int i=0;i<vec.size();++i){temp = max(temp+vec[i],vec[i]);ans = max(temp,ans);
}
return ans;

循环的第一行就是用来比较当前位置的值和前面数组之和的大小,如果:
1、temp > 0,一个正数加一个vec[i] 大于 vec[i]
2、temp < 0:
(1)vec[i]>0:一个负数加一个正数小于这个正数本身;
(2)vec[i]<0:一个负数加另一个负数小于这两个负数,这样的话重新设定起点了,前面一堆都是负数,没必要加上去。

第二行:用来保存找查找过程中最大值的。
temp有可能增大后减少,这时需要保存一个ans来记录最大值是多少。
到时候就可以获得这个ans的值来确定子数组和最大为多少。

Kadane's algorithm学习相关推荐

  1. Shor’s Algorithm 学习笔记

    Shor'sAlgorithm 以下是我在学习Quantum Algorithm时整理的演示PPT,是我对这个算法的一些个人理解希望可以帮到你.

  2. Grover’s Algorithm 学习笔记

    Grover's Algorithm 以下是我在学习Quantum Algorithm时整理的演示PPT,是我对这个算法的一些个人理解希望可以帮到你.

  3. Algorithm学习笔记 --- 迷宫问题

    版权声明:学习交流为主,未经博主同意禁止转载,禁止用于商用. https://blog.csdn.net/u012965373/article/details/26376987 </div> ...

  4. SLAM--VICP(Velocity Updating Iterative Closest Point Algorithm)学习笔记

    参考资料: <VICP: Velocity Updating Iterative Closest Point Algorithm>–Seungpyo Hong Heedong Ko Jin ...

  5. Algorithm学习宣言

    曾经省吃俭用买下<算法导论>,却一直放于桌角. 也许一切都源自我的贪心,眼高而手低,因为每次打开书,总想在短时间内将它消灭. 曾经大学给我提供了一个很好的学习算法的平台,但是我没有好好珍惜 ...

  6. kadane算法_使用KADANE的算法求最大子阵列和

    kadane算法 What is a sub-array? 什么是子阵列? A sub-array is basically an array's contiguous part. For examp ...

  7. 一些有意思的算法代码[转载]

    转载自:http://coolshell.cn/articles/6010.html Keith Schwarz是一个斯坦福大学计算机科学系的讲师.他对编程充满了热情.他的主页上他自己正在实现各种各样 ...

  8. 如何买卖股票?不要慌,我有妙招!

    预计阅读时间15分钟. Leetcode第121题到123题连续出现了三道买卖股票相关的题目,一年前的网易笔试和半年前的百度面试都遇到过121题,不过不用慌,看完本文,你一定能够完美解决买卖股票的问题 ...

  9. 这是一名南京985AI硕士,CSDN博客专家

    微信公众号推荐 AI蜗牛车公众号 微信公众号<AI蜗牛车>,公众号致力于技术项目化,具体化,思考化,会写系列的项目工程文章,细致到位,也会写一个读物的读书笔记,或者一个语言/框架的学习笔记 ...

最新文章

  1. 第一课.图与图神经网络
  2. spring执行定时任务
  3. [保护模式]段间跳转和跨段跳转
  4. maven检测依赖_检测Maven依赖中介
  5. 配置Struts2的异常处理
  6. axios vue 回调函数_VUE使用axios调用后台API接口的方法
  7. [julia]本地离线安装package
  8. PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
  9. 《MyBatis3源码深度解析》图书简介
  10. java messagebox_由MessageBox透视Win32 API的调用 | 学步园
  11. 华硕路由器无线打印服务器怎么开启,华硕ASUS路由器无线中继模式设置教程
  12. Ubuntu-区域截图
  13. android 编程app_2020年用于Android App开发的顶级编程语言
  14. 网站导航 - 网址大全
  15. linux下下载fnl数据,python处理FNL数据的grib文件和nc文件(纬度存储的问题)
  16. 接口报错500是什么意思_HTTP 500错误是什么意思?
  17. Spring Boot Redis关闭
  18. guacamole SSH、TELNET建议配置中文无衬线等宽字体Noto Sans Mono CJK SC
  19. 第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母——C语言
  20. 桥牌坐庄训练bm2000 level3闯关记录——A6

热门文章

  1. matlab ssgs工具箱,基于PI控制方式的1A开关电源MATLAB仿真研究
  2. 【APICloud系列|36】小米应用商店可以检测同个应用不同版本信息
  3. 实战|全程分析js到getshell
  4. Error: Module “xxx“ does not exist in container. / antd pro v5启用qiankun报错 / 同时使用mfsu和qiankun报错
  5. js中split()和join()的用法
  6. js sort方法根据数组中对象的某一个属性值进行排序(实用方法)
  7. html基础-html简介-第一个网页(1)
  8. 谈谈技术原则,技术学习方法,代码阅读及其它
  9. create your own github repository and build link to your local project
  10. UI测试脸型软件,App脸型美化剖析|UI-影视-其他|观点|freshoil - 原创文章 - 站酷 (ZCOOL)...