给定 n 天每天的收益(可正可负),需要从中选取一段连续天数,使这段连续收益之和最大,并输出这个最大收益。
这是典型的 最大子数组和 问题,可用 动态规划算法:
cur 表示“以当前天结尾的最大连续收益”cur = max(a[i], cur + a[i])春节过后,小明收到了一笔压岁钱。妈妈帮他开通了一个投资账户,并记录下接下来 n 天里每一天的收益情况。某一天的收益用一个整数表示,正数表示当天赚了,负数表示当天亏了。
小明忍不住好奇:如果自己能提前知道这 n 天的走势,那么在这段时间里,只选一段连续的非空日子来投资,最多能赚到多少钱呢?注意,选出的日子必须连续,而且至少包含一天,不能跳着选,也不能一天都不选。
请你帮小明算出这个最大的总收益。如果接下来没有任何记录的天数,那就认为最大收益是 0。
约束条件:
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册