写出一个可以工作的程序并不够
参考《数据结构与算法分析》
posted on 2007-02-07 10:52 Dain 阅读(1047) 评论(7) 编辑 收藏 引用 所属分类: 算法 、笔记
呵呵, dp是王道 回复 更多评论
嗯,dp 对于这个问题,算法三和四都是不错的思路@豪 回复 更多评论
楼主开什么玩笑,算法四明显是不对的嘛,是考一下我们的眼力吗? 回复 更多评论
四不对 如: 1 5 -3 2 4 回复 更多评论
三用的是分治,不是DP吧? 回复 更多评论
第四个 MaxSum = -((static_cast<unsigned int>(~0)) >> 1) - 1; ThisSum = 0; for (int i = 0;i < A.size();i++) { ThisSum += A[i]; if(ThisSum > MaxSum) MaxSum = ThisSum; else ThisSum = 0; } 回复 更多评论
输入如下:-2 11 -4 13 -5 -2输出如下:13正确输出应该为:20修改如下:intMaxSubsequenceSum( const int A[], int N){ int ThisSum,MaxSum,i; ThisSum = MaxSum = 0 ; for (i = 0 ;i < N;i ++ ) { ThisSum += A[i]; if (ThisSum > MaxSum) MaxSum = ThisSum; else if(ThisSum < 0) ThisSum = 0 ; } return MaxSum;} 回复 更多评论
Powered by: C++博客 Copyright © Dain