用n(0)次求一个数组里面最大子数组的和(数组可以输入负数)
2014-03-19 12:56
246 查看
今天老师布置了题目上的任务,可谓是杀死人脑细胞不偿命呐。。。
在课上叽叽咕咕的讨论了一节课也没有答案,只得出几个备选方案,一个是通过枚举法将数组里面的子数组和一个个列出来然后在进行比较,可想而知(n2)了。。。(pass)
第二个是通过二叉树来对该有的数进行依次遍历,但是苦于要将排序学好,将二叉树先序遍历学会。后面一看排序,完蛋了数组被重新排序了。不行。。。(pass)
第三个是将数组里面的所有元素一人一半分开排列,左边右边,然后呢?然后呢?。。。然后没有然后了。。。(pass)
第四个只是初步想法,将前边的数字相加,一旦和等于负数时候,抛弃前边所有的数。结果我一个-6,3,-7,2秒杀了该想法,,,但是接近我们想要的了。
第五个想法即在第四个想法的基础上进行一些改造,但是这几天基本满课没有时间,所以讨论仍然在慢慢的继续中。
最后的想法ing中。期待正确答案出现吧!!!
ing...ing...ing...ing...ing...ing...ing...
组员:肖聪杰,冯少华
在课上叽叽咕咕的讨论了一节课也没有答案,只得出几个备选方案,一个是通过枚举法将数组里面的子数组和一个个列出来然后在进行比较,可想而知(n2)了。。。(pass)
第二个是通过二叉树来对该有的数进行依次遍历,但是苦于要将排序学好,将二叉树先序遍历学会。后面一看排序,完蛋了数组被重新排序了。不行。。。(pass)
第三个是将数组里面的所有元素一人一半分开排列,左边右边,然后呢?然后呢?。。。然后没有然后了。。。(pass)
第四个只是初步想法,将前边的数字相加,一旦和等于负数时候,抛弃前边所有的数。结果我一个-6,3,-7,2秒杀了该想法,,,但是接近我们想要的了。
第五个想法即在第四个想法的基础上进行一些改造,但是这几天基本满课没有时间,所以讨论仍然在慢慢的继续中。
最后的想法ing中。期待正确答案出现吧!!!
ing...ing...ing...ing...ing...ing...ing...
组员:肖聪杰,冯少华
相关文章推荐
- 输入一个整形数组,数组中有正数也有负数,求该数组中所以子数组和的最大值
- 输入整形数组,数组里有正数也有负数,数组中一个或连续的多个整数组成数组的子数组,求所有子数组中和的最大值 ,例如输入的数组为{1,-2,3,10,-4,7,2,-5}和最大的子数组为{3,10,
- 题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。
- 一个数组 里面正数和负数求所有子数组的最大值
- 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。
- 阿里巴巴面试算法题:有一个函数int getNum(),每运行一次可以从一个数组V[N]里面取出一个数,N未知,当数取完的时候,函数返回NULL。现在要求写一个函数int get(),这个函数运行一次可以从V[N]里随机取出一个数,而这个数必须是符合1/N
- 输入一个数组,用main函数调用一个Lookfor函数找出最大值 最小值 运行结果错误 。请大家帮忙找一下原因!
- 输入一个整型数组(10个) 把最大的与第一个交换输出
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 作业5:输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复杂度是多少?如果只是用堆的 push 操作,则一个大根堆依次输入 3,7,2,4,1,5,8 后,得到的堆的结构示意图是下述图表中的哪个?
- 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大 java实现
- 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1},
- 假如一个数组存储了一个股票,在一天交易窗口内各时间点的股票价格(正整数),只允许一次买入和一次卖出,请提供一个算法,计算出通过买入和卖出可以得到的最大利润
- // 1、输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值
- 给定一个数组,当中有正负数,求当中的一段“子数组”(即任意长度,连续的数字), 使得这个“子数组”的和是所有“子数组”和中最大的
- 有一个整形数组int[]arr,将里面的值排序为最大值后输出
- 典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存,
- 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,
- 编一个程序,输入10个整数,并放在数组中,先降序输出所有的数,再统计并输出其中正数、负数和零的个数