扫描算法 编程珠玑
2014-03-09 23:26
197 查看
编程珠玑第八章,maxsofar保存的是第i个元素之前的最大子数组和
maxsofar=0 maxendinghere=0 for i=[0,n) maxendinghere=max(maxendinghere+x[i],0) maxsofar=max(maxsofar,maxendinghere)
for(int i=0; i<len; ++i ) { if( maxendinghere > 0 ) maxendinghere += x[i]; else maxendinghere = x[i]; if ( maxsofar < maxendinghere ) { maxsofar = maxendinghere; } }
相关文章推荐
- 《C++对象模型》读后感——前言
- PHP学习 mysqli的基本操作
- ASP.NET页面生命周期
- java之数组获取最值
- 微信wap开发,页面显示元素不全-微信开发(asp.net)
- c语言初学者学习的事儿
- LeetCode | Pascal's Triangle
- 防止qq代码攻击 (linkey)
- java学习之C语言基础2
- Struts环境的安装与配置以及实例解析
- 冒泡排序
- Spring中Singleton模式的线程安全
- 基于Java对象的数据库增删改查操作
- Asp.Net之自定义表达式构造器(ExpressionBuilder)
- java设计模式(创建型)之原型模式
- C++ 虚函数和纯虚函数总结
- 关于C++默认打开函数的理解
- php中$this->是什么意思?
- 使用Java Native Interface的最佳实践
- C#字符串截取