题解 | #子数组最大连续和#Erlang人生动态规划

子数组最大连续和

http://www.nowcoder.com/questionTerminal/1718131e719746e9a56fb29c40cc8f95

解题思路

如果到目前为止你的过去是负担,那就放下吧,每天都是新的开始~

如果到目前为止你的过去是正担,那就带上吧,试试找到自己人生的最大子序和吧~(即自己相对提升最大的一段时间,我希望是现在也是未来)

代码

-spec max_sub_array(Nums :: [integer()]) -> integer().
max_sub_array(Nums = [NumH | NumsT]) ->
    do_max_sub_array(NumsT, #{nums => [NumH]}).

do_max_sub_array([Num | T], Args = #{nums := Nums = [PreSum | _]}) ->
    Sum = case PreSum >= 0 of
        true ->
            Num + PreSum;
        _ ->
            Num
    end,
    do_max_sub_array(T, Args#{nums := [Sum | Nums]});
do_max_sub_array([], _Args = #{nums := Nums}) ->
    lists:max(Nums).
全部评论

相关推荐

05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
18
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务