一、题目 1、审题 2、分析: 给出一个整形数组(可能全是负数),求连续的子数组的最大的和。 二、解答 1、思路: 方法一、动态规划 令 maxNum 代表最大和,tmpMaxNum 代表临时最大和。 当向后扫描时,对第 j 个元素有两种选择,要么放入前面的子数组,要么作为新数组的第一个元素; 如果 ...
分类:
其他好文 时间:
2018-09-15 15:22:10
阅读次数:
162
题目描述: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。 示例: 进阶: 如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。 要完成的函数: int m ...
分类:
编程语言 时间:
2018-09-12 12:31:08
阅读次数:
167
hihocoder-1796-完美K倍子数组 #1796 : 完美K倍子数组 #1796 : 完美K倍子数组 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 如果一个数组满足长度至少是2,并且其中任意两个不同的元素Ai和Aj (i ≠ j)其和Ai+Aj都是K的倍数,我 ...
分类:
编程语言 时间:
2018-09-09 22:13:41
阅读次数:
250
1.题目简介 求一个旋转数组的最小值。( 把一个数组从最开始的若干个元素搬到数组的末尾,即为旋转数组。) 输入:一个递增排序数组的旋转 输出:数组的最小值 例子:数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1. 2.思路分析 最直观的解法是从头到尾顺序遍历,这种方法 ...
分类:
编程语言 时间:
2018-09-06 14:47:19
阅读次数:
149
1.描述:找出数组A的和最大的非空连续子数组,我们称这样的连续子数组为最大子数组。 2. 用分治策略来求解。 a. 假设我们要求A的子数组A[low, high]的最大子数组。根据分治策略,我们先将A[low,high] 平分 b. 那么 A[low,highj]的子数组A[i,j]只有三种可能 a ...
分类:
编程语言 时间:
2018-09-02 20:20:33
阅读次数:
186
2018-09-01 23:02:46 问题求解: 问题求解: 最开始的时候,一眼看过去就是一条 dp 嘛,保存每个数字结尾的长度和,最后求和就好,至于长度如何求,本题中需要用滑动窗口来维护。 写好代码后,发现其实并不需要真正申请一个1000长度的数组来对每个数字进行保存,直接求和就好。 ...
分类:
编程语言 时间:
2018-09-02 01:53:31
阅读次数:
290
最大子数组问题 本文只是做一个记录,更细致的思路请查看算法导论 最大子数组结构体 暴力求解 计算所有的数组区间的和进而得到最大的子数组,算法复杂度为θ(n2)。这种方法在小规模的数据表现很好,d但是在大规模数据中则很糟糕,但可用作分治算法的改进。实现的思路是先计算从以 为起始的最大子数组,然后从[1 ...
分类:
编程语言 时间:
2018-09-01 21:49:20
阅读次数:
212
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6, 3, 2,7, 15,1 ...
分类:
编程语言 时间:
2018-08-31 21:55:15
阅读次数:
173
四十一、数据流中的中位数 题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 四十二、连续子数组的最大和 题目:输入一个整型数组,数组里有正数也有负数。数组中 ...
分类:
其他好文 时间:
2018-08-29 01:17:28
阅读次数:
170