編碼技巧之邊界 筆記

2022-06-06 23:06:14 字數 1187 閱讀 4306

以二分查詢為例,假設我們在乙個有序陣列中查詢元素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...