题目描述:一个数组有N个元素,求连续子数组的最大和。例如:[-1,2,1],和最大的连续子数组为[2,1],其和为3。分析:从头到尾遍历数组,如果加和小于0,说明之前的累加和并不能够构成最大和数组,所以我们从数组的下一个元素开始累加,但累加的过程中有可能已经遇到了最大和,所以当当前的和比之前的大时记录下来。踩坑点:当加和小于0时只需要从下个位置作为数组头开始累加即可,因为之前已构不成最大数组,所以
分类:
其他好文 时间:
2019-11-13 19:28:35
阅读次数:
83
前面写了一些算法题,但是写到后面,发现不怎么系统起来,所以从这一篇开始,我们先着重介绍一下动态规划算法! 我们以题目开门见山. 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 解法一:动态规划思想 思路 首先对数组进行遍历,当前最大连续 ...
分类:
其他好文 时间:
2019-11-05 00:42:26
阅读次数:
85
之前在其他博客看到了,但是算法的关键部分完全看不懂为什么要这么做,直到最近上算法课,才终于知道到底怎么来的。 问题描述: 给出一个数组,求其最大连续子数组和 例:数组{1,2,3,4,-5,10,-1,-1}的最大连续子数组和是子数组{1,2,3,4,-5,10}的和15 算法过程: 这个算法能从零 ...
分类:
编程语言 时间:
2019-10-28 00:26:03
阅读次数:
137
来源:力扣(LeetCode) 链接:https://leetcode cn.com/problems/maximum subarray 给定一个整数数组 nums?,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [ 2,1, 3,4, 1,2,1, 5, ...
分类:
其他好文 时间:
2019-10-16 09:51:55
阅读次数:
103
返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 如果没有和至少为 K 的非空子数组,返回 -1 。 示例 1: 输入:A = [1], K = 1 输出:1 示例 2: 输入:A = [1,2], K = 4 输出:-1 示例 3: 输入:A = [2,-1,2], K = 3 输出 ...
分类:
编程语言 时间:
2019-10-04 13:37:50
阅读次数:
105
动态规划不在于记住dp table里填什么,而在于找到subproblems。 53. Maximum Subarray 最大子序列和 https://leetcode.com/problems/maximum-subarray/ 题目:给定整数数组nums,查找具有最大和的连续子数组(至少包含一个 ...
分类:
其他好文 时间:
2019-09-28 01:02:16
阅读次数:
112
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1 ...
分类:
编程语言 时间:
2019-09-14 16:37:06
阅读次数:
95
今天...早上10点赶去西电去参加了宣讲会,完了做了一个笔试....估计没什么情况。编程题不会做。下午又做了平安产险的笔试(比较随便,编程是一道Leetcode简单题吧 求最大连续子数组的和O(n)),晚上通知去第二天面试。 晚上刚做完多益的笔试,比较正经。 1. 20道选择,涉及算法数据库和操作系 ...
分类:
其他好文 时间:
2019-09-06 22:51:33
阅读次数:
145
题目链接:https://leetcode-cn.com/problems/shortest-unsorted-continuous-subarray/ 题目大意: 略. 分析: 如果排序区间为 [L, R], 那么 nums[L] 一定大于区间内的最小值,而 nums[R] 一定大于区间内的最大值 ...
分类:
编程语言 时间:
2019-09-06 15:49:35
阅读次数:
65
Leetcode之动态规划(DP)专题-53. 最大子序和(Maximum Subarray) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 定义:dp ...
分类:
其他好文 时间:
2019-09-06 13:21:35
阅读次数:
79