动态规划:最大子段和
2016-04-13 15:01
218 查看
//动态规划:最大子段和(腾讯2面) int findmaxSum(vector<int>&vs){ vector<int> res(vs.size(),INT_MIN); res[0] = vs[0]; for(int i=1;i<vs.size();i++){ res[i] = max(res[i-1]+vs[i],vs[i]); } int max =INT_MIN; int end =0; for(int i=0;i<res.size();i++){ if(max < res[i]){ max = res[i]; end = i; } } int begin =end; while(res[begin]!=vs[begin]){ begin--; } cout<<"The max subSumIndex is between "<<begin<<" and "<<end<<endl; return max; } int main() { vector<int>vs1 = {2,-1,3,-7,5,-2,6}; vector<int>vs2 = {-1,-2,-3,-4}; cout<<findmaxSum(vs1)<<endl; cout<<findmaxSum(vs2)<<endl; return 0; }
相关文章推荐
- java异常处理(隐式抛出、显示抛出、直接处理)
- iosiPhone屏幕尺寸、分辨率及适配
- 使用Appium做手机app自动化时,红米2手机(已ROOT)时不时的弹出覆盖安装Appium Android Input Manager for Unicode的输入法的提示的解决办法
- MySql数据引擎简介与选择方法
- hdu4035之经典慨率DP
- Foreach能够循环的本质
- [LeetCode]130. Surrounded Regions
- meaurespec的再次认识
- ORACLE数据库定时任务—DBMS_JOB
- 用PHP抓取淘宝商品的用户晒单评论+图片实例
- mysql “group by ”与"order by"的研究--分类中最新的内容
- HASH、HASH函数、HASH算法的通俗理解
- php上传绕过
- 栈的使用和模拟
- leetcode 36. Valid Sudoku
- 企业内部在centos7.2系统中必杀技NTP时间服务器及内网服务器时间同步(windows和linux客户端同步)
- id_rsa.pub如何查看
- 编码相关问题
- Android SlidingMenu 使用详解
- 常驻线程的创建--线程不死之谜