今日题目(对应书上第39~42题): 今天的题目都比较经典,特别是第2题。 1. 数组中出现次数超过一半的数字 代码如下: 2. 最小的k个数 代码如下: 3.数据流中的中位数 代码如下: 4.连续子数组的最大和 代码如下: ...
分类:
编程语言 时间:
2018-02-04 19:26:53
阅读次数:
187
剑指Offer 题31:连续子数组的最大和 题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n)。 例子说明: 例如输入的数组为{1, 2, 3, 10, 4, 7, 2, 5},和最大的子数组为{3, 10, ...
分类:
其他好文 时间:
2018-02-02 20:14:32
阅读次数:
99
public class 连续子数组的最大和{ // 时间复杂度为O(n) private static int getSubMaxSum(int[] array) { if (array == null || array.length == 0) { return 0; } int sum = 0 ...
分类:
编程语言 时间:
2018-01-15 16:29:59
阅读次数:
118
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1 ...
分类:
编程语言 时间:
2017-12-27 17:48:05
阅读次数:
174
{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是1)最优方法,时间复杂度O(n),和最大的子序列的第一个元素肯定是正数 ,因为元素有正有负,因此子序列的最大和一定大于0 def FindGreatestSumO... ...
分类:
编程语言 时间:
2017-12-18 18:37:52
阅读次数:
133
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1 ...
分类:
编程语言 时间:
2017-12-14 03:24:33
阅读次数:
149
第三周 所花时间(包括上课) 18h 代码量(行) 358 博客量(篇) 两篇 了解到的知识点 网页版加减乘除和数组中求连续子数组的最大和 时间记录日志 学生 李静 课程 软件工程概论 教师 王建民 日期 开始时间 结束时间 中断时间 净时间 活动 备注 C U 2017.12.5 8:00 8:5 ...
分类:
其他好文 时间:
2017-12-09 18:06:19
阅读次数:
173
一、题目: 这是一道考的烂的不能再烂的题目,但是依然有很多公司乐于将这样的题目作为笔试或面试题,足见其经典。 问题是这样的:一个整数数组中的元素有正有负,在该数组中找出一个连续子数组,要求该连续子数组中各元素的和最大,这个连续子数组便被称作最大连续子数组。比如数组{2,4,-7,5,2,-1,2,- ...
分类:
编程语言 时间:
2017-09-17 23:38:33
阅读次数:
397
第一种方法: 此种方法的思想较为简单:先找出从第1个元素开始的最大子数组,而后再从第2个元素开始找出 从第2个元素开始的最大子数组,依次类推,比较得出最大的子数组。 此种方法的时间复杂度为O(n*n),在OJ上运行时会显示:没有在规定的时间内运行完成。即说明,没有通过,太低级了!!哈哈 第二种方法: ...
分类:
编程语言 时间:
2017-08-10 20:56:46
阅读次数:
121
方法一:举例分析数组的规律 例如数组{1,-2,3,10,-4,7,2,-5} 分析:循环遍历数组,初始累加和为0。第一步,和为1.第二步,和为-1;第三步,和小于0,如果用-1加上3,和为2,小于3.那么从第一个累加的和必然小于从3开始累加的和,因此放弃之前累加的和。从3从新开始,此时和为3。第四 ...
分类:
编程语言 时间:
2017-07-26 00:07:24
阅读次数:
240