POJ 1 11程式設計基礎之二分查詢

2021-07-05 20:58:09 字數 845 閱讀 3641

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...