// dp[0] 没法按照下面的公式求解 dp[0] = nums[0] for i, num:= range nums{ if i == 0{ continue } // 下面就是转移方程式 if dp[i-1] <=0 { dp[i] = num }else{ dp[i] = num + dp[i-1] } } // 拿到最大值返回即可 var m = dp[0] for _, d := range dp { m = max(d,m) } return m }
funcmax(a,b int)int{ if a>=b { return a } return b }