提出問題,有乙個數字列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 之間。第三...