遞迴-M--二分查詢
Problem Description
給出含有n個數的升序序列,保證序列中的數兩兩不相等,這n個數編號從1 到n。
然後給出q次詢問,每次詢問給出一個數x,若x存在於此序列中,則輸出其編號,否則輸出-1。
Input
單組輸入。首先輸入一個整數n(1 <= n && n <= 3000000),接下的一行包含n個數。
再接下來的一行包含一個正整數q(1 <= q && q <= 10000),表示有q次詢問。
再接下來的q行,每行包含一個正整數x。
Output
對於每次詢問,輸出一個整數代表答案。
Sample Input
5 1 3 5 7 9 3 1 5 8
Sample Output
1 3 -1
#include<stdio.h>
#include<stdlib.h>
int a[10000001];
int search(int l,int r,int target){
while(l <= r){
int mid = (l + r) /2;
if(a[mid] == target){
return mid + 1;
}else if(a[mid] < target){
l = mid + 1;
}else if(a[mid] > target){
r = mid - 1;
}
}
return -1;
}
int main(){
int b,c,d;
scanf("%d",&b);
for(int i = 0 ; i < b ; i++){
scanf("%d",&a[i]);
}
//sort(0,b-1);
scanf("%d",&c);
while(c--){
scanf("%d",&d);
printf("%d\n",search(0,b-1,d));
}
return 0;
}
相關文章
- 二分法查詢(遞迴實現)遞迴
- 第二章 :查詢與排序-------二分查詢的遞迴解法排序遞迴
- Python遞迴函式,二分查詢演算法Python遞迴函式演算法
- sqlalchemy 遞迴查詢SQL遞迴
- PostgreSQL 遞迴查詢SQL遞迴
- SqlServer遞迴查詢SQLServer遞迴
- 二分查詢的兩種實現形式遞迴和迭代遞迴
- 遞迴查詢子元素遞迴
- java-遞迴(檔案查詢)Java遞迴
- 查詢——二分查詢
- 遞迴樹形查詢所有分類遞迴
- Java實現遞迴查詢樹結構Java遞迴
- iOS 演算法之排序、查詢、遞迴iOS演算法排序遞迴
- 資料庫遞迴查詢:MySQL VS Sequelize資料庫遞迴MySql
- 透過遞迴查詢應用依賴遞迴
- 第二章 :查詢與排序---------遞迴、查詢與排序補充排序遞迴
- 二分查詢(一)——純粹的二分查詢
- 二分查詢
- 簡單C#遞迴(向前查詢上工序)C#遞迴
- 查詢演算法__二分查詢演算法
- 記錄一次遞迴查詢的運用遞迴
- 二分查詢法
- PHP二分查詢PHP
- leetcode——二分查詢LeetCode
- leetcode -- 二分查詢LeetCode
- 查詢演算法之二分查詢演算法
- 二分查詢 | 二分查詢的一種推薦寫法
- 二分法的簡單實現——-遞迴和非遞迴遞迴
- 同事問我MySQL怎麼遞迴查詢,我懵逼了MySql遞迴
- python 遞迴和二分法Python遞迴
- 704.二分查詢
- labuladong_二分查詢
- 詳解二分查詢
- python二分查詢模板Python
- 二分查詢(c++)C++
- 每日leetcode——二分查詢LeetCode
- Leetcode 704 二分查詢LeetCode
- 二分查詢【折半查詢】演算法 PHP 版演算法PHP