剑指offer面试题3 二维数组中的查找(c)
来源:互联网 发布:oa软件开发 编辑:程序博客网 时间:2024/05/21 01:42
剑指offer面试题三:
关键在于这个二维数组比较特殊,都是按照排序后的摆放,因而在查找时可以采取从右上角开始一层层的剥离,节省查找时间
代码如下:
1 #include<stdio.h> 2 #define True 1 3 #define False 0 4 /** 5 *二维数组找到 6 */ 7 int Findnum(int *matrix,int rows,int colums,int findnum){ 8 int findflag = False; 9 if(matrix!=NULL && rows>0 && colums>0){10 //俩个辅助变量11 int row = 0;12 int colum = colums-1;13 //开始找数字的循环14 while(row<rows && colum>=0){15 if(matrix[row*colums+colum] == findnum){16 findflag = True;17 break;18 }19 else if(matrix[row*colums+colum] > findnum)20 colum--;21 else22 row++;23 }24 }25 return findflag;26 }27 void main(void){28 int num[][4] = {{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 7, 10, 13}, {6, 8, 11, 15}};29 int flag;30 flag = Findnum((int*)num,4,4,15);31 if(flag){32 printf("Find");33 }34 else35 printf("Not Find");36 37 }
0 0
- 二维数组中的查找(剑指offer面试题3)
- 剑指offer面试题3 二维数组中的查找(c)
- 【剑指offer】面试题3:二维数组中的查找
- 【剑指offer】面试题3:二维数组中的查找
- 剑指Offer:面试题3 二维数组中的查找
- 《剑指Offer》面试题3:二维数组中的查找
- 剑指offer面试题3-二维数组中的查找
- 【剑指Offer学习】【面试题3 :二维数组中的查找】
- 【剑指offer】 面试题3: 二维数组中的查找
- 剑指Offer面试题3:二维数组中的查找
- 剑指Offer:面试题3 二维数组中的查找
- 剑指offer-面试题3:二维数组中的查找
- 剑指offer面试题3之二维数组中的查找
- 剑指offer面试题3—二维数组中的查找
- 剑指offer 面试题3 二维数组中的查找
- 剑指offer面试题3:二维数组中的查找
- 剑指offer面试题3:二维数组中的查找
- 剑指offer - 面试题3:二维数组中的查找
- PopupWindow用法
- 我理解的剑指offer----字符串的全排列和组合算法
- Android图片切圆
- (11)mysql中的条件定义、处理
- gitlab的搭建及问题的解决
- 剑指offer面试题3 二维数组中的查找(c)
- 剑指offer面试题4 替换空格(c)
- 剑指offer面试题5 从头到尾打印链表(c)
- 剑指offer面试题6 重建二叉树(c)
- 剑指offer面试题3 二维数组中的查找 (java)
- 剑指offer面试题4 替换空格(java)
- 剑指offer面试题5 从头到尾打印链表(java)
- 剑指offer面试题6 重建二叉树(java)
- golang接口