【问题描述】

给定由n个整数组成的序列a1,a2,…,an,求该序列子段和的最大值。当所有整数均为负值时定义其最大子段和为0。
依此定义, 例如, 当(a1,a2, a3, a4, a5,a6)=(-2, 11, -4, 13, -5, -2)时,最大子段和为20。

C算法

【问题描述】

字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。
给定两个字符序列A和B,如果字符序列Z既是A的子序列,又是B的子序列,则称序列Z是A和B的公共子序列。该问题是求两序列A和B的最长公共子序列(LCS)。

C算法

【问题描述】收获花生问题

咚咚想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。咚咚只能向东或向南走,不能向西或向北走。问咚咚最多能够摘到多少颗花生。tian

C算法

【问题描述】

有如下图所示的一个数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的数值和最大。
数塔

C算法