动态规划——剑指 Offer 42. 连续子数组的最大和 题目: 思路: dp数组的定义:dp[i]是以 nums[i] 结尾的最大子数组和。 base_case:dp[0] = nums[0] 状态转移方程:dp[i]有两种「选择」,要么与前面的相邻子数组连接,形成一个和更大的子数组;要么不与前面 ...
分类:
编程语言 时间:
2021-05-20 17:50:09
阅读次数:
0
剑指 Offer 42. 连续子数组的最大和 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和 ...
分类:
编程语言 时间:
2021-01-19 12:21:08
阅读次数:
0
剑指 Offer 42. 连续子数组的最大和 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和 ...
分类:
编程语言 时间:
2021-01-19 11:47:35
阅读次数:
0
简单动态规划:dp[i]是以位置i结束的最大和,动态转移方程dp[i] = max(dp[i-1]+array[i], array[i]),dp中的最大值即是结果。 class Solution { public: int FindGreatestSumOfSubArray(vector<int> ...
分类:
编程语言 时间:
2020-11-21 11:46:10
阅读次数:
5
剑指Offer中的动态规划除了一题hard(正则表达式匹配)都比较简单。 连续子数组的最大和 这道题可以作为线性dp的模板。 用dp[i]表示以元素nums[i]为结尾的连续子数组最大和。 当以nums[i-1]为结尾的数组和(dp[i-1])大于0,对于以nums[i]为结尾的子数组(dp[i]) ...
分类:
其他好文 时间:
2020-07-31 22:58:15
阅读次数:
102
[编程题] nk:连续子数组的最大和 输入输出 无 思路 方法:动态规划 Java代码 public class Solution { //方法1:动态规划 public int FindGreatestSumOfSubArray1(int[] array) { //[6,-3,-2,7,-15,1 ...
分类:
编程语言 时间:
2020-07-30 01:38:35
阅读次数:
79
dp连续子数组的最大问题求解: ##思路: ####1.dp[i] 表示以第i个元素为末尾元素的子序列最大和 ####2.只有一个元素时,该元素即最大 ####3.当dp[i-1]为负数时,对第i个元素产生负影响;为正数时,比较加上第i个元素值是否变大,dp[i] 为nums[i]与dp[i-1]+ ...
分类:
编程语言 时间:
2020-07-24 21:45:11
阅读次数:
64
https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/ 1、题目描述: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 2、示 ...
分类:
编程语言 时间:
2020-07-19 18:09:51
阅读次数:
388
题目信息 时间: 2019-06-30 题目链接:Leetcode tag: 动态规划 难易程度:简单 题目描述: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例: 输入: nums = [-2,1,-3 ...
分类:
编程语言 时间:
2020-07-04 01:18:09
阅读次数:
81
力扣链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/ 题目描述 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 思 ...
分类:
编程语言 时间:
2020-07-03 00:41:25
阅读次数:
67