剑指 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
给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3, 2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [ 2,0, 1] ...
分类:
编程语言 时间:
2021-01-08 11:17:03
阅读次数:
0
题目 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能 ...
分类:
编程语言 时间:
2021-01-04 10:57:05
阅读次数:
0
0-1背包问题、最大连续子数组问题、最长公共子序列、最长公共子串、最小编辑距离、钢条切割、矩阵链乘 动态规划问题的一般步骤: 给出问题的表示,明确子问题 分析最优结构,构造递推公式 确定计算顺序,依次求解问题 记录决策过程,输出最优方案 0-1背包 动规方程: 用$p[i,c]$表示前i个物品在背包 ...
分类:
编程语言 时间:
2020-12-31 12:05:20
阅读次数:
0
题目: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的 ...
分类:
编程语言 时间:
2020-12-05 11:04:03
阅读次数:
9
简单动态规划: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
问题描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 解法一(动态规划): 用dp[i]表示第i位结尾 ...
分类:
其他好文 时间:
2020-11-08 17:06:45
阅读次数:
22
一、题目 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频 ...
分类:
编程语言 时间:
2020-10-22 23:10:54
阅读次数:
28
问题 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 代码 贪心算法 核心思想就是检查之前 i-1 的元素和,如果小于零就舍弃——对应下面第六行代码 1 class Solution { 2 public: 3 int maxSubArray( ...
分类:
其他好文 时间:
2020-09-17 14:20:44
阅读次数:
24