01:查詢最接近的元素
檢視 提交 統計 提問
總時間限制: 1000ms 記憶體限制: 65536kb
描述 在乙個非降序列中,查詢與給定值最接近的元素。
輸入 第一行包含乙個整數n,為非降序列長度。1 <= n <= 100000。
第二行包含n個整數,為非降序列各元素。所有元素的大小均在0-1,000,000,000之間。
第三行包含乙個整數m,為要詢問的給定值個數。1 <= m <= 10000。
接下來m行,每行乙個整數,為要詢問最接近元素的給定值。所有給定值的大小均在0-1,000,000,000之間。
輸出 m行,每行乙個整數,為最接近相應給定值的元素值,保持輸入順序。若有多個值滿足條件,輸出最小的乙個。
樣例輸入
3 2 5 8
2 10
5 樣例輸出 8 5
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=100000+10;
int a[maxn];
int n,m,v;
int solve(int v)
while(l!=1&&a[l]==a[l-1])l--;
if(l!=1&&abs(a[l-1]-v)<=abs(a[l]-v))l--;
return a[l];
}int main()
return
0;}
查詢之二分查詢
二分查詢前提查詢的序列需要有序 十分好理解 取中間值與目標值對比查詢 注意下數值邊界 public static void main string args int arr2 int arr3 int index binarysearch arr,34 int index2 binarysearch...
基礎程式設計 二分查詢
題目要求 本題要求實現二分查詢演算法。函式介面定義 position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的...
查詢演算法之 二分查詢
這個例項給出了二叉搜尋演算法在9個元素的陣列arr中查詢某個目標值的過程01 2345 678 7 35812 1623 3355 例子1 查詢目標值2301 2345 678 7 35812 1623 3355 步驟1 索引範圍 0,9 索引first 0,last 9,mid 0 9 2 4 t...