公布2012年5月赛CSDN算法达人赛试题及参考答案
摘要:本次试题均精选自百度腾讯公司笔试题,试题及答案来源于网络。一、编程题1.给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增1 2 33 5 64 8 9现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)答案:算法思想: 沿着对角线查找,获得i,使得k位于a[i][i]与a[i+1][i+1]之间。 k只可能存在于a[i][i]对应的右上角矩阵 和a[i+1][i+1]对应的左下角矩阵。 使用递归法继续查找即可。时间复杂度 O(n)int searchK(int int_arr[][],int n,int
阅读全文
posted @ 2012-06-02 14:29