【杨氏矩阵 】有一个二维数组
数组的每行从左到右是递增的,每列从上到下是递增的
题目: 在这样的数组中查找一个数字是否存在
要求:时间复杂度小于O(N)
数组:
1 2 3 1 3 4 1 2 3
2 3 4 2 4 5 4 5 6
3 4 5 4 5 6 7 8 9
解题思路:
什么是时间复杂度?通俗来讲就是哪种方法越简单,系统计算次数越少,那么时间复杂度就越简单,所用的时间也就越少。
下面的代码:第一行最后一个数字和想要找的数字比较,如果第一行最后的那个数字大,则就在第一行找。如果第一行的最后那个数字小,那么就行数加一,列数不变,想要找的那个数和第二行的最后一列比较…按照此方法下去,直到找到那个数字。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int Find_finger(int arr[][3],int find)
{
int