码迷,mamicode.com
首页 > 编程语言 > 详细

贪心算法 动态规划

时间:2020-06-26 12:27:32      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:时间   方法   位置   png   mamicode   举例   数值   规划   数组   

技术图片

 

 

/*
* 方法一 贪心法 O(n)
*
* 当叠加的和小于0时,就从下一个数重新开始,
* 同时更新最大和的值(最大值可能为其中某个值),
* 当叠加和大于0时,将下一个数值加入和中,
* 同时更新最大和的值,依此继续。
*
* 举例: nums = [-2,1,-3,4,-1,2,1,-5,4]
* sum = INT_MIN <= 0-> sum = -2 <= 0 -> sum = 1 > 0 ->
* -> sum = -2 <= 0 -> sum = 4 > 0 -> sum = 3 > 0 ->
* -> sum = 5 > 0 -> sum = 6 > 0 -> sum = 1 > 0 ->
* -> sum = 5 > 0
* res = [-2, 1, 1, 4, 4, 5, 6, 6, 6]
* 最终返回 res = 6
* */

技术图片

 

 动态规划 

在原地修改数组,将数组每个位置的值更改为当前位置上的最大和。

复杂度分析

- 时间复杂度:O(N)O(N),遍历了一次数组。
- 空间复杂度:O(1)O(1),使用了常数空间。

技术图片

 

贪心算法 动态规划

标签:时间   方法   位置   png   mamicode   举例   数值   规划   数组   

原文地址:https://www.cnblogs.com/sweet-li/p/13194154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!