题解 | #子数组最大连续和#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).
全部评论

相关推荐

这就是伊泽瑞尔:进什么厂,就是三方面决定,八股+项目可以进中小厂,要进大厂再刷刷算法。
点赞 评论 收藏
分享
S_Holmes:一想到我苦苦追求的迪子私下里却是985的马子,我的心就在滴血😭😭😭
点赞 评论 收藏
分享
07-25 13:42
门头沟学院 Java
安锋:看看老板的腿
点赞 评论 收藏
分享
评论
18
2
分享

创作者周榜

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