要求 1 要求程序必须能处理1000 个元素; 2 每个元素是int32 类型的; 3 输入一个整形数组,数组里有正数也有负数。 4 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 5 如果数组A[0]……A[j-1]首尾相邻,允许A[i-1], …… A[n-1], A[0]…… ...
分类:
编程语言 时间:
2018-11-04 16:12:16
阅读次数:
134
题目:返回一个整数数组中最大子数组的和。要求: 1)输入一个整形数组,数组里有正数也有负数。 2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 3)如果数组A[0]……A[j-1]首尾相邻,允许A[i-1],…… A[n-1],A[0]……A[j-1]之和最大。 设计思想:这是第 ...
分类:
其他好文 时间:
2018-11-04 15:36:07
阅读次数:
158
设计思想: 因为已经写过了一维数组的求最大子数组的程序,所以在原基础上做一些修改就可以了。与求数组的最大子数组相同,先遍历所有子数组,然后判断最后一个子数组是否大于0。若大于0,则重头开始遍历,直到子数组的和小于0或者到最后一个子数组的前一个数为止,在此过程中保存子数组的最大值以及位置。在此需要注意 ...
分类:
编程语言 时间:
2018-11-04 12:45:12
阅读次数:
142
假如我们输入一个一维的数组,数组中既有正数也有负数,而且这个数组首尾相接,就像一个圆圈。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值,如何用编程的语言实现?设计思想:1.首先定义一个数组与这个数组的长度,然后输入这个数组。2.再定义一个新的数组,此数组把第 ...
分类:
编程语言 时间:
2018-11-04 00:29:37
阅读次数:
170
然后再用一维数组求解最大子数组的方法即可。值得注意的是,子数组的长度不可超过n,在我程序中有所体现。最终,因为没有要求时间复杂度的问题,我选择 了遍历的方法求解了此问题。 运行结果截图: 合作图: ...
分类:
编程语言 时间:
2018-11-03 20:12:01
阅读次数:
156
思路: 把一维环形数组从某一段切开,然后转化为之前做过的一维数组最大子数组的和的问题, 然后都其中切开的每一段一维数组做比较,输出最大的值。 ...
分类:
编程语言 时间:
2018-11-03 17:33:00
阅读次数:
104
分析:对环形数组确定首元素,从而变成一位数组。因为有n个元素,所以有n种情况 如图: 程序代码: 结果截图: 实验总结:其实循环数组和一维数组本质上是一样的,程序上只是增加了一个循环。 ...
分类:
编程语言 时间:
2018-11-03 17:24:53
阅读次数:
247
分析: 1.将环形数组,剪开变成一个一维数组。 2.用一维数组的最大子数组和解决。 对于一个环形数组,表示成一个一维数组总共有n种。如图所示: 程序代码: 测试截图: 实验总结:对于环形数组只需将其化简成一维数组形式,再对其求最大子数组的和即可,完全等价于一维数组。将其化简成几小步去做就简单很多了。 ...
分类:
编程语言 时间:
2018-11-03 16:26:33
阅读次数:
291
题目描述 cs3k.com 给定一个只包含正整数的非空数组,判断该数组能否分成两个和相等的子数组。 样例输入 cs3k.com 输入[1,5,11,5] 返回 true . 可以分为[1,5,5]和[11]输入[1,2,3,5] 返回false. 无法分为相等的两个子数组 算法分析 本题需要判断数组 ...
分类:
编程语言 时间:
2018-11-02 14:38:20
阅读次数:
377
1 class Solution 2 { 3 public: 4 int numSubarraysWithSum(vector& A, int S) 5 { 6 if(S==0) 7 { 8 int result = 0; 9 ... ...
分类:
编程语言 时间:
2018-10-30 21:18:15
阅读次数:
480