剑指offer面试题三:
关键在于这个二维数组比较特殊,都是按照排序后的摆放,因而在查找时可以采取从右上角开始一层层的剥离,节省查找时间
代码如下:
#include<stdio.h> #define True 1 #define False 0 /** *二维数组找到 */ int Findnum(int *matrix,int rows,int colums,int findnum){ int findflag = False; && colums>){ //俩个辅助变量 ; ; //开始找数字的循环 ){ if(matrix[row*colums+colum] == findnum){ findflag = True; break; } else if(matrix[row*colums+colum] > findnum) colum--; else row++; } } return findflag; } void main(void){ ] = {{, , , }, {, , , }, {, , , }, {, , , }}; int flag; flag = Findnum((,,); if(flag){ printf("Find"); } else printf("Not Find"); }