假設乙個單調遞增的陣列裡的每個元素都是整數並且是唯一的,請程式設計實現乙個函式,找出陣列中任意乙個數值等於其下標的元素。
例如在陣列中,數字3和它的下標相等。
從左到右遍歷陣列,逐個判斷數字和下標是否相同,時間複雜度為o(n)
使用二分查詢,如果數字大於下標在陣列左邊查詢
數字小於下標在陣列右邊查詢。
public static int getnumber(int datas)else if(datas[mid] > mid)else
}return -1;
}
遇到排序陣列查詢問題想二分查詢。
陣列中數值和下標相等的元素(二分查詢)
題目描述 假設乙個單調遞增的陣列中的每個元素都是整數並且是唯一的。請程式設計實現乙個函式,找出陣列中任意乙個數值等於其下標的元素,例如在陣列 3,1,1,3,5 中,3和他的下標相等。採用二分查詢 如果陣列中的數字小於下標,由於下標是 1的遞減數列,但是陣列中的元素差值大於等於 1,因此左邊的不可能...
AcWing 69 陣列中數值和下標相等的元素
假設乙個單調遞增的陣列裡的每個元素都是整數並且是唯一的。請程式設計實現乙個函式找出陣列中任意乙個數值等於其下標的元素。例如,在陣列 3,1,1,3,5 中,數字3和它的下標相等。樣例輸入 3,1,1,3,5 輸出 3注意 如果不存在,則返回 1。由於陣列是單調遞增的,所以可以用二分查詢。通過比較數值...
輸出陣列前三大的數值和下標
輸出陣列前三大的數值和下標 package wanshang317 public class 第二大陣列下標 列印出該陣列前三大 int arr int max arr 0 int secmax 0 int index 0 int secindex 0 int thmax 0 int thindex...