數字的最接近查詢

2021-05-22 06:08:32 字數 670 閱讀 8365

提出問題,有乙個數字列value,任意輸入乙個數字x,要求查詢最接近x的那個value的值,有可能個大於x也有可能小於x。

例如查詢value最接近2.15的value所在的行

實現:create table t (value decimal(12,4))

insert into t

select 2.1

union select 2.2

union select 2.3

union select 2.4

union select 2.5

union select 2.6

union select 2.7

select top 1 * from t

where value=(select min(abs(value-2.15))+2.15 from t)

or value=(select -min(abs(value-2.15))+2.15 from t)

or value=(select min(abs(value-2.15))-2.15 from t)

or value=(select -min(abs(value-2.15))-2.15 from t)

drop table t

思路,查詢出最小值,然後分別用正負的最小值加減2.15,得出的4個值中最少有乙個符合要求

查詢最接近的元素

總時間限制 1000ms 記憶體限制 65536kb 描述在乙個非降序列中,查詢與給定值最接近的元素。輸入第一行包含乙個整數n,為非降序列長度。1 n 100000。第二行包含n個整數,為非降序列各元素。所有元素的大小均在0 1,000,000,000之間。第三行包含乙個整數m,為要詢問的給定值個數...

查詢最接近的元素

在乙個非降序列中,查詢與給定值最接近的元素。input 第一行包含乙個整數n,為非降序列長度。1 n 100000。第二行包含n個整數,為非降序列各元素。所有元素的大小均在0 1,000,000,000之間。第三行包含乙個整數m,為要詢問的給定值個數。1 m 10000。接下來m行,每行乙個整數,為...

查詢最接近的元素

在乙個非降序列中,查詢與蒜頭君的給定值最接近的元素。輸入格式 第一行包含乙個整數 nn,為非降序列長度。1 le n le 1000001 n 100000。第二行包含 nn 個整數,為非降序列各元素。所有元素的大小均在 0 sim1,000,000,0000 1,000,000,000 之間。第三...