以二分查詢為例,假設我們在乙個有序陣列中查詢元素k,需要返回k所在的下標
例如在【1,2,3,4,5,6】中找4,那麼返回的話就要返回3
規定要查詢的值k可能在的陣列arr內下標區間a,b
計算區間a,b的中間點m
如果k如果k>arr[m],將區間縮小為m,b,然後繼續二分查詢
具體**如下:
package interview.loop;
public class binarysearch else if (k > arr[m]) else
}return -1;
} public static void main(string args) , 15));
system.out.println(
bs.binarysearch(new int, -2));
system.out.println(
bs.binarysearch(new int, 101));
system.out.println(
bs.binarysearch(new int, 13));
system.out.println("*****=");
system.out.println("testing empty or singleton data.");
system.out.println(
bs.binarysearch(new int{}, 13));
system.out.println(
bs.binarysearch(new int, 13));
system.out.println(
bs.binarysearch(new int, 13));
system.out.println("*****=");
system.out.println("testing data of size 2.");
system.out.println(
bs.binarysearch(new int, 13));
system.out.println(
bs.binarysearch(new int, 12));
system.out.println(
bs.binarysearch(new int, 11));
}}
HTML CSS之邊界合併和邊界溢位
1.邊界合併只出現在塊級元素中,並且只會在上下邊距出現 2.塊級元素垂直上下邊距相遇,取較大的值 3.如果出現負邊距,這麼兩個元素的邊距就是上下邊距帶符號的和,如果負邊距的絕對值大於正邊距,就會出現重疊,後面的元素疊在前面的元素上 有上面的3點,下面我們就來一點一點的證明 1,2可以一起證明 正常情...
編碼小技巧
1.define abc dowhile 0 define abc do 在核心中經常見到第一種用法,第一種用法和第二種用法的區別在 呢?看下面的例子 例一 if a abc else 例二 abc 例一中如果我們將巨集寫成第二種形式,編譯時會得到乙個編譯錯誤。例二中如果我們寫成第二種形式,在編譯時...
編碼小技巧
a codementor print reverse is a 1 翻轉後的結果為 rotnemedoc mat 1,2,3 4,5,6 zip mat 1,4 2,5 3,6 a 1,2,3 將列表中的三個元素分拆成三個變數 a 1,2,3 x,y,z a x1 y2 z3a code mento...