劍指OFFER之二維數組中的查找(九度OJ1384)

題目描述:

在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。數組

 

輸入:

輸入可能包含多個測試樣例,對於每一個測試案例,函數

輸入的第一行爲兩個整數m和n(1<=m,n<=1000):表明將要輸入的矩陣的行數和列數。測試

輸入的第二行包括一個整數t(1<=t<=1000000):表明要查找的數字。spa

接下來的m行,每行有n個數,表明題目所給出的m行n列的矩陣(矩陣如題目描述所示,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。code

 

輸出:

對應每一個測試案例,blog

輸出」Yes」表明在二維數組中找到了數字t。排序

輸出」No」表明在二維數組中沒有找到數字t。io

 

樣例輸入:

3 3
5
1 2 3
4 5 6
7 8 9
3 3
1
2 3 4
5 6 7
8 9 10
3 3
12
2 3 4
5 6 7
8 9 10

 

樣例輸出:

Yes No No

代碼:

#include <stdio.h> #include <stdlib.h>

//by xingoo
int main(void){ int m,n,findnum,flag; while(scanf("%d %d",&m,&n) != EOF && (m>=1 && m<=1000 && n>=1 && n<=1000)){ scanf("%d",&findnum); flag = 0; int i,num; for(i=0;i<m*n;i++){ scanf("%d",&num); if(num == findnum) flag = 1; } if(flag) printf("Yes\n"); else printf("No\n"); } return 0; }
相關文章
相關標籤/搜索