问题导读: 1. 环境搭建 2. 最大子数组和算法 3. 测试表格 解决方案: 操作系统 环境搭建 1. 下载安装包 jdk 8 eclipse neon 2. 安装配置JDK 解压 配置 profile 测试 3. 安装eclipse neon 最大子数组和算法实现 测试表格 用例编号 评价 正常 ...
分类:
其他好文 时间:
2016-10-05 12:46:10
阅读次数:
257
问题一:子数组和的最大值: 用f[i]表示以a[i]结尾的最大连续子序列和。i在0~n-1之间,最后比较所有的f[i]找到最大值。对于这样的以为动态规划,可以简化为用一个变量f滚动完成更新。 问题二:不相交子数组和之差的最大值。 我们需要将数组分成不相交的两部分,分别求所有可能的两部分的子数组的和的 ...
分类:
编程语言 时间:
2016-09-16 22:53:48
阅读次数:
240
问题1: /*求连续子数组的最大和: * 设curSum为当前子数组(ai, ai+1, ......, aj)的和 * sum存放到目前为止子数组和的最大值 * 1. cursum+ai>0; cursum=cursum+ai * 2. cursum+ai<=0; cursum=ai; */ 由于 ...
分类:
编程语言 时间:
2016-09-12 20:36:29
阅读次数:
197
给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的。数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],…arr[n-1],arr[0],…,arr[j],现在请你这个ACM_Lover用一个最高效的方法帮忙找出所有连续子数 ...
分类:
编程语言 时间:
2016-08-27 14:12:57
阅读次数:
212
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn't one, return ...
分类:
编程语言 时间:
2016-08-26 15:23:04
阅读次数:
182
看到这个题目,我们首先想到的是求出这个整型数组所有连续子数组的和,长度为n的数组一共有 n(n+2)/2个子数组,因此要求出这些连续子数组的和最快也需要O(n^2)的时间复杂度。但是题目要求的O(n)的时间复杂度,因此上述思路不能解决问题。 看到O(n)时间复杂度,我们就应该能够想到我们只能对整个数 ...
分类:
编程语言 时间:
2016-08-20 16:16:53
阅读次数:
150
快速排序 快速排序的时间复杂度为O(n2),但其平均性能很好,其期望复杂度为O(nlog2n),并且其中隐含的常数因子很小。 对输入数组A[p..r],将其划分为两个子数组A[p..q-1]和A[q+1..r],其中A[q]满足,A[q]大于等于任意一个属于A[p..q-1]的元素,小于等于任意一个 ...
分类:
编程语言 时间:
2016-07-15 12:57:13
阅读次数:
205
【题目】输入一个整型数组,数组里有正数也有负数。数组中一个或连续多个整数组成一个子数组。 * 求所有子数组和的最大值。 * 【思路】连续求和数组元素。一旦得到的和小于0,就抛弃前面的数组,从当前值重写开始求和。 ...
分类:
编程语言 时间:
2016-07-03 14:22:41
阅读次数:
206
快速排序是基于分治策略的。对一个子数组A[p…r]快速排序的分治过程的三个步骤为: 分解: 数组A[p…r]被划分成两个(可能空)子数组A[p…q-1]和A[q+1…r],使得A[p…q-1]中的每个元素都小于等于A[q],且小于等于A[q+1…r]中的元素。下标q也在这个划分过程中进行计算。 解决 ...
分类:
编程语言 时间:
2016-06-24 10:37:03
阅读次数:
126
问题: 求解数组中连续一段子数组和的最大值。例如:{31,-41,59,26,-53,58,97,-93,-23,84},最大值为59+26-53+58+97=187 思路: 计算出任意i到j之间连续子数组的和再比较必然能得到最大值,但时间复杂度为O(n^2),我们希望能找出线性时间的算法。 我们注 ...
分类:
编程语言 时间:
2016-05-19 21:15:47
阅读次数:
178