7-3 二分查找(折半查找)
描述
已知一個有n個元素的從小到大排列的整數序列,序列中的資料沒有重復。現在要查找一個給定的值key,輸出key在此序列中出現的位置。
例如:在序列[1,2,3,5,8,9,12,21,37,49,55,613]中,查找5的結果是4,表示找到了,位置是4(第4個數).
輸入
第一行包含一個正整數k,表示有k組測驗資料。1 <= k <= 100。接下來是k組資料。
對于每組資料,首先包含一行兩個整數,n和key,表示該組資料整數序列的元素個數n和要查找的值key。(1 <=n<=1000)
然后的一行中包含n個從小到大排列好的整數,依次給出序列的每個元素,相鄰兩個整數之間用空格隔開。
題目中所有元素和key的絕對值不超過10000。
輸出
對于每組資料,若序列中存在key,輸出key第一次出現的位置;否則輸出-1。
每個輸出單獨占一行。
樣例輸入
3
5 3
2 3 5 6 7
4 5
1 2 3 4
1 1
1
樣例輸出
2
-1
1
uj5u.com熱心網友回復:
輸入樣例能說明?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/271654.html
標籤:C++ 語言
上一篇:Java學習筆記10
下一篇:這個輸入怎么輸啊??
