九度题目1173:查找
生活随笔
收集整理的這篇文章主要介紹了
九度题目1173:查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題鏈接:http://ac.jobdu.com/problem.php?pid=1173
題目描述:
輸入數組長度 n?
輸入數組 ? ? ?a[1...n]?
輸入查找個數m?
輸入查找數字b[1...m]?
?
輸出 YES or NO ?查找有則YES 否則NO 。
輸入:
輸入有多組數據。
每組輸入n,然后輸入n個整數,再輸入m,然后再輸入m個整數(1<=m<=n<=100)。
輸出:
如果在n個數組中輸出YES否則輸出NO。
樣例輸入:
5
1 5 2 4 3
3
2 5 6
樣例輸出:
YES
YES
NO
代碼如下;
#include <stdio.h> #include <stdlib.h> #define MAXN 101int cmp(const int *a,const int *b){return *a-*b; }int binSearch(int *num,int len,int value){int begin=0,end=len-1,middle;while(begin<=end){middle=(begin+end)/2;if(num[middle]==value){return middle;}if(value>num[middle]){begin=middle+1;}else{end=middle-1;}}return -1; }int main(int argc, char *argv[]) {int n,m,a[MAXN];while(scanf("%d",&n)==1){int i,value;for(i=0;i<n;i++){scanf("%d",&a[i]);}qsort(a,n,sizeof(a[0]),cmp);scanf("%d",&m);for(i=0;i<m;i++){scanf("%d",&value);int pos=binSearch(a,n,value);if(pos==-1){printf("NO\n");}else{printf("YES\n");}}}return 0; } 如果文章有什么錯誤或者有什么建議,歡迎提出,大家共同交流,一起進步
文章轉載請注明出處,請尊重知識產權
總結
以上是生活随笔為你收集整理的九度题目1173:查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: macos蓝牙驱动和wifi驱动名称_D
- 下一篇: LTO磁带 PK 磁盘HDD:谁会让数据