一:设计思想 先定义一个与原数组长度相同的空数组,然后将原数组的第一个数赋值给空数组的第一个位置,然后用循环比较原数组的数字与空数组的前一个数字相加是否为负数,得到第二个数组后进行比较就可以得到整数数组中最大子数组的和并且时间复杂度为O(n)。 二:源代码 三:程序结果截图 ...
分类:
编程语言 时间:
2016-04-08 18:16:19
阅读次数:
185
设计思路: 从数组第一个数开始循环,依次向后相加,如果得到和比先前的和大则重置最大值为当前,如果的得到的和为负,再加会影响最大值,所以则重置为0,循环完后如果是0,则说明所有数均为负,只需找出最大值即可 源代码: 结果截图: ...
分类:
编程语言 时间:
2016-04-08 16:46:23
阅读次数:
167
一、题目:一个有正有负的整数数组里,其中连续的一个或多个整数构成的整数组,有一个和,求最大子数组,要求,时间复杂度为O(n) 二、设计思路: 1、先输入要输入的元素的个数。 2、构建两个INT类型的字数组,一个来存放数字,一个作为临时数组。 3、遇见正数就存放到临时数组里,并继续往下加,只要结果是正 ...
分类:
编程语言 时间:
2016-04-08 14:31:45
阅读次数:
138
返回一个整数数组中最大子数组的和 设计思路:只能遍历一周,设置一个当前最大值curMax和一个最大和Max,设置for循环进行遍历,当当前最大值大于等于0则继续累加,如果小于等于0则重置,到最后比较当前最大值和最大和,最后输出最大和。 出现的问题:最大值初始不能设置为0。 可能的解决方案:初始设置为 ...
分类:
其他好文 时间:
2016-04-07 20:30:44
阅读次数:
125
题目: 返回一个二维整数数组中最大联通子数组的和。 要求: 1. 输入一个二维整形数组,数组里有正数也有负数。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 2.程序要使用的数组放在一个叫 input.txt 的文件中, 文件格式是: 数组的行数, 数组的列数, 每一行的元素, (用逗号分开 ...
分类:
编程语言 时间:
2016-04-07 08:21:30
阅读次数:
229
相较于上次求最大子矩阵的和,这次明显更难了一些。 将问题分解并分析,可以想到 先求各行中的最大子数组,并记录下标,求完之后再将各行的最大子数组的下标进行比较可以得到两种情况 1.上一行的最大子数组下标范围和下一行的最大子数组下标范围有重合的部分。 2.上一行的最大子数组下标范围和下一行的最大子数组下 ...
分类:
移动开发 时间:
2016-04-06 18:49:07
阅读次数:
161
设计思路同最大联通子数组的和(一)http://www.cnblogs.com/brucekun/p/5356994.html 将(一)未完成的部分做了基本补充,但是还存在bug: ⑴每行最大子数组的和为负数时显示为0(具体算法见http://www.cnblogs.com/brucekun/p/5 ...
分类:
移动开发 时间:
2016-04-06 18:43:13
阅读次数:
229
设计思想: 对于有正数和负数都有的数组,随机从数组中选一个数,将选的数初始化为0,因此执行时从正数开始,依次累加,就可以了。 程序代码: public class java { public static void main(String args[]) { int temp=0; int sum= ...
分类:
编程语言 时间:
2016-04-06 18:33:25
阅读次数:
144
一.题目 输入一个二维整形数组,数组里有正数也有负数。 求所有子数组的和的最大值。 二.设计思想 第一种方法:首先若要对二维数组进行分析,通常想要把它化简成为一个一维数组。再先求每个一维数组的最大子数组和,并记下每行最大一维子数组的下标。这是就会分两种情况:第一种是行之间的最大子数组是相连的,这时就 ...
分类:
移动开发 时间:
2016-04-06 18:32:57
阅读次数:
225