问题描述:求一个矩阵中最大的二维矩阵(元素和最大).如:1 234 56 7 8 9 101 2 3 4 5中最大的是:4 59 10分析:2*2子数组的最大和。遍历求和,时间复杂度为O(mn)。代码实现: 1 // 35.cc 2 #include 3 #include 4 using nam.....
分类:
其他好文 时间:
2014-09-09 17:58:09
阅读次数:
168
给定一个长度为N的整数数组,只允许用乘法不允许用除法,计算N-1个数组合的乘积最大的一组,并写出算法的时间复杂度。去除第i个元素的乘积可以表示为A[0]*A[1]*…A[i-1] * A[i+1]*A[i+2]*…A[N-1]#include#includeusingnamespacestd;#de...
分类:
其他好文 时间:
2014-09-06 22:29:23
阅读次数:
210
将大小为2N的数组分成两个大小为N的数组,使得两个子数组之和最接近#includeusingnamespacestd;#definemin(a,b)(((a)n时,表示考虑到了后面n个,但是最多只能取n个。这里考虑的是从2n中取出n个,并且使得这n个之和最接近sum/2for(v=1;v=arr[k...
分类:
其他好文 时间:
2014-09-06 21:15:03
阅读次数:
324
问题:
求二维数组(矩阵)的子矩阵之和的最大值。
解法:
//***************************************************************************************/
//*编程之美2.15 —— 求二维数组矩阵的元素之和最大子矩阵\poj 1050 皮皮 2014-9-4 */
//****************...
分类:
其他好文 时间:
2014-09-05 18:15:41
阅读次数:
132
问题:
1. 一个由N个整数元素的一维数组,求其所有子数组中元素和的最大值。
2. 如果数组首尾相邻,也就是允许子数组A[i],...,A[n-1],A[0],...,A[j]存在,求其所有子数组总元素和的最大值。
解法1:
/* O(n^2) 遍历算法 */
static int maxSubarraySum1(int *a,int a_len){
int max_su...
分类:
其他好文 时间:
2014-09-05 18:13:51
阅读次数:
227
使用动态规划求最大子数字和:s[i]表示data[i~n-1]以元素i开始的最大子数组和,a[i]表示data[i~n-1]中的最大子数组和 ;s[i]=max(s[i+1]+data[i], data[i]);a[i]=max(a[i+1], s[i]); 由于数组s,a递推的时候,都只用到数组的...
分类:
其他好文 时间:
2014-09-03 00:05:55
阅读次数:
261
题目:有一个无序、元素个数为2n的正整数组,要求:如何能把这个数组分割为元素个数为n的两个数组,并使两个子数组的和最接近?1 1 2 -> 1 1 vs 2看题时,解法的时间复杂度一般都大于或等于O(n^2)。突然灵感一闪,发现一个新的解法,应该算是一个动态规划的过程吧,思路比较简单,请看代码。空间...
分类:
其他好文 时间:
2014-09-01 15:14:53
阅读次数:
347
提到查找算法,最经典的就是二分查找算法了。在二分查找时要在有序的数据里查找目标target,先取中间元素与target比较,
当target小于中间元素的时候,则搜索数组的前半部分,target大于中间元素时,则取数组的后半部分。重复整个搜索的过程
将左半部分与有半部分当作子数组继续查找,直到找到元素或到子数组的大小为0停止。
原理上很简单却有较多细节,尤其是数据边界的取值是否会越界,whi...
分类:
其他好文 时间:
2014-08-25 22:55:21
阅读次数:
258
菜鸟系列之C/C++经典试题(二)
求子数组的最大和...
分类:
编程语言 时间:
2014-08-20 21:09:42
阅读次数:
300