2016年5月3日

子数组和最接近零问题

摘要: 子数组和最接近零问题: 对于长度为N的数组A,求连续子数组的和最接近0的值。 如:1,-2,3,10,-4,7,2,-5;该数组中子数组和最接近零的值为0,子数组为-4,7,2,-5。 程序实现: 运行结果: 说明:本算法时间复杂度为O(nlogn)。 转载请注明出处: C++博客园:godfrey 阅读全文

posted @ 2016-05-03 22:08 Brainer-Gao 阅读(296) 评论(0) 推荐(0)

查找旋转数组的最小值

摘要: 查找旋转数组的最小值: 假设一个排序数组以某个未知元素为支点做了旋转,找出旋转后数组中的最小值,假定数组中没有重复元素。 如:原数组1,2,3,4,5,6,7旋转后得到4,5,6,7,1,2,3。旋转后的最小值为1。 问题分析: 这里不做过多的介绍,旋转之后的数组实际上可以划分为两个有序的数组,前面 阅读全文

posted @ 2016-05-03 21:41 Brainer-Gao 阅读(1067) 评论(1) 推荐(0)

第一个缺失的整数

摘要: 求第一个缺失的整数问题: 给定一个数组A[0...N-1],找到从1开始,第一个不在数组中的正整数。 例如:3,5,1,2,-3,7,14,8;返回: 4。 问题分析: 可以将找到的数放在正确的位置上,如果最终发现某个元素一直没有找到,则该元素即为所求。 假设前 i-1 个数已经找到,并已经正确存放 阅读全文

posted @ 2016-05-03 21:13 Brainer-Gao 阅读(332) 评论(0) 推荐(0)

求局部最大值

摘要: 求局部最大值问题: 给定一个无重复元素的数组A[0...N-1],找到一个该数组的局部最大值。 问题分析: 遍历一遍得全局最大值,它显然是局部最大值,但是时间复杂度是O(n),现在要求时间复杂度为O(logn)。 问题求解过程类似于二分查找,但是还不完全一样,需要分析清楚问题来源。问题中只需要求出一 阅读全文

posted @ 2016-05-03 20:46 Brainer-Gao 阅读(1722) 评论(0) 推荐(0)

导航