现代程序设计 作业 第1次
GitHub 账户:hjkun
设计思路:
一维:
首先我想到的是,一列数字的最大子串一定有一个处在最末尾的数字,而且这个数字一定是在这一列数字之中。
所以我提出以下算法:
从头到尾扫描这一列数字,
第一个数字:以第一个数字为结尾的最大子串就是第一个数字。
第二个数字:比较“当前数字的值”与“以第一个数字为结尾的最大子串的值”,将其中较大的值作为“以第二个数字为结尾的最大子串的值”。
第三个数字:比较“当前数字的值”与“以第二个数字为结尾的最大子串的值”,将其中较大的值作为“以第三个数字为结尾的最大子串的值”。
.....
将所有数字遍历之后,找出“以第...个数字为结尾的最大子串的值”的最大值即是所求结果。
与正确解法基本上没有差距。