编辑: 没心没肺DR | 2014-04-29 |
1 &
&
hash[j-1][k-matrix[j]]) 17. hash[j][k] = 1;
18. } 19. } 20. } 21. } 22. int ans = 0;
23. for(int k = limit;
k >
= 0;
k--) 应届生求职大礼包 应届生求职网 YingJieSheng.COM 应届生求职网 http://www.yingjiesheng.com 第8页共42 页24. { 25. if(hash[row-1][col-1][k] &
&
k>
ans) 26. ans = k;
27. } 28. return ans;
29. }
2、有两个字符串 s1 和s2,其长度分别为 l1 和l2,将字符串 s1 插入到字符串 s2 中,可以插入到字符串 s2 的第一个字符的 前面或者最后一个字符的后面,对于任意两个字符串 s1 和s2,判断 s1 插入到 s2 中后是否能够构成回文串.
3、已知有 m 个顶点,相邻的两个顶点之间有一条边相连接,首尾顶点也有一条边连接,这样就构成了一个圆环. 现在有一个二维数组 M[][],M[j]=1 时,表明第 i 和j个节点之间有条边存在,M[j]=0 时,表明第 i 和j个节点之间没有边存在,其中 M=0, M[j]=M[j],输入为一个二维数组 M[][]和顶点的个数 n,试着判断该图中是否存在两个圆环,且两个圆环彼此之间没有公共点.试着实现下面 这个函数: bool IsTwoCircle(int **M,int n) {.....}
4、给定如下的 n*n 的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增.
1 3
7 15
16 2
5 8
18 19
4 6
9 22
23 10
13 17
24 28
20 21
25 26
33 现在要求设计一个算法, 给定一个数 k 判断出 k 是否在这个矩阵中. 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗) 方法一 从右上角开始(从左下角开始也是一样的),然后每步往左或往下走. 这样每步都能扔掉一行或者一列,最坏的情况是被查找的元素位于另一个对角,需要 2N 步,因此这个算法是 o........