现代程序设计 作业 第1次

GitHub 账户:hjkun

设计思路:
一维:
首先我想到的是,一列数字的最大子串一定有一个处在最末尾的数字,而且这个数字一定是在这一列数字之中。
所以我提出以下算法:
从头到尾扫描这一列数字,
第一个数字:以第一个数字为结尾的最大子串就是第一个数字。
第二个数字:比较“当前数字的值”与“以第一个数字为结尾的最大子串的值”,将其中较大的值作为“以第二个数字为结尾的最大子串的值”。
第三个数字:比较“当前数字的值”与“以第二个数字为结尾的最大子串的值”,将其中较大的值作为“以第三个数字为结尾的最大子串的值”。
.....
将所有数字遍历之后,找出“以第...个数字为结尾的最大子串的值”的最大值即是所求结果。

与正确解法基本上没有差距。

posted @ 2013-09-20 01:15  黄剑锟  阅读(173)  评论(4编辑  收藏  举报