摘要: 一,题目:求一个矩阵中最大的二维矩阵(元素和最大).如:1 2 0 3 42 3 4 5 11 1 5 3 0中最大的是:4 55 3要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码二,分析:假设最大子矩阵的结果为从第r行到k行、从第i列到j列的子矩阵,如下所示(ari表示a[r][i],假设数组下标从1开始): | a11 …… a1i ……a1j ……a1n | | a21 …… a2i ……a2j ……a2n | ..... | ar1 …… ari ……arj ……arn |第r行 . . . .......... | V | ak1 …… aki ……akj ……a 阅读全文
posted @ 2012-04-23 18:44 MXi4oyu 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 从以前的windows应用程序开发转变到Windows8 Metro App开发,如果非要说最需要改变的观念有哪些,显而易见的Metro UI风格大家肯定都认同,而另外一个就是异步处理。从win32早期几乎全盘的同步API,到后来.Net开始支持异步API,微软其实已经做出了API风格上的转变,但是晦涩的回调处理,异常,调试难度让大多数开发者对异步模型开发望而却步,同步处理的观念紧锁住了几乎绝大部分开发者的思想,试问在某些库宣称同时支持同步API和异步API后,包括我自己,又有多少开发者选择去尝试用异步API来构筑他们的应用程序呢? 如果有公司宣称,“在我的平台上开发App,只要你的... 阅读全文
posted @ 2012-04-23 17:44 MXi4oyu 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一,最大子矩阵问题: 给定一个n*n(0<n<=100)的矩阵,请找到此矩阵的一个子矩阵,并且此子矩阵的各个元素的和最大,输出这个最大的值。Example:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其中左上角的子矩阵:9 2-4 1-1 8此子矩阵的值为9+2+(-4)+1+(-1)+8=15。二,分析 子矩阵是在矩阵选取部份行、列所组成的新矩阵。例如它亦可用A(3;2)表示,显示除掉第3行和第2列的余下的矩阵。这两种方法比较常用,但还是没有标准的方法表示子矩阵。以上为维基百科上给出的定义,感觉跟此题的定义不是一回事呢? 我们首先想到的方法就是穷举一个. 阅读全文
posted @ 2012-04-23 17:13 MXi4oyu 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一,题目:最大子段和: 给定一个长度为n的一维数组a,请找出此数组的一个子数组,使得此子数组的和sum=a[i]+a[i+1]+……+a[j]最大,其中i>=0,i<n,j>=i,j<n 例如:31 -41 59 26 -53 58 97 -93 -23 84 子矩阵59+26-53+58+97=187为所求的最大子数组。二,源码第一种:直接穷举法:#include <iostream> using namespace std; int main() { int a[10]={31, -41, 59, 26, -53, 58, 97, -93, -23, 8 阅读全文
posted @ 2012-04-23 15:13 MXi4oyu 阅读(184) 评论(0) 推荐(0) 编辑