題目描述
給定乙個包含n個整數的數列和包含m個不重複整數的數列。
輸出既包含於也包含於的整數的個數k。
輸入格式
輸入共4行:
第1行僅包含乙個正整數n;
第2行包含n個整數ai,數字之間用乙個空格分隔;
第3行僅包含乙個正整數m;
第4行包含m個整數bi,數字之間用乙個空格分隔。
輸出格式
輸出僅包含乙個整數k。
輸入樣例 151
2345
3341
輸出樣例 13提示
【資料範圍】
0< n ≤ 100
,000
0< m ≤ 50
,000
0 ≤ ai,bi ≤ 10
^9
這是一道模板題,考察二分查詢
在此提供模板:
int
search
(int a,
int key,
int n)
return-1
;}
在上面的模板中,key
代表要查詢的量,a
是將要進行查詢的陣列,n
是a
中的元素個數
附:如資料無序,則需要設結構體node
,用來儲存在陣列中的位置與數值
此題完整**:
#include
#include
using
namespace std;
int a[
100001
],b[
50001];
intbin
(int a,
int key,
int n)
return-1
;}intmain()
cout
}
二分查詢模板
二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。演算法思路 假設目標值在閉區間 l,r 中,每次將區間長度縮小一半,當l r時,我們就找到了目標值。模板一當區間 l,r 的更新操作是r mid l mid 1 時,計算mid時不需要加1。int bsearch 1 in...
二分查詢模板
例如陣列中查詢乙個數 二分查詢的前提是整個陣列是有序的 模板 int a n int l 0,r n 1 int mid,key while l r 另外還有一些二分查詢函式 a.函式模板 binary search arr,arr size indx c.函式功能 在陣列中以二分法檢索的方式查詢,...
二分查詢模板
二分查詢模板總共有兩個 將區間分為 l,mid l,mid l,mid mid 1,r mid 1,r mid 1 r 時,如下 while l r else 將區間分為 l,mid 1 l,mid 1 l,mid 1 mi d,r mid,r mid,r 時,如下 while l r else 對...