????????畢業(yè)后在一家公司待了3年多,最近想要跳槽,卻處處碰壁。發(fā)現(xiàn)自己的知識積累少的可憐,面試官隨便問個問題都懵逼,所以打算靜下心每天學習一下,就從這篇博客開始,每天把我所學的東西記錄下來。好了,廢話不多說,就從二分查找開始吧。
java版二分查找:
// 二分查找的必要條件是數(shù)據(jù)必須是遞增或者遞減的,下面的例子中是遞增數(shù)組的二分查找
private static boolean findX(int[] arr, int tar){
int low =0;
? ? int hig = arr.length -1;
? ? int mid =0;
? ? while(low <= hig){
????????mid = (low + hig) /2;
? ? ? ? if(arr[mid] == tar){
????????????return true;
? ? ? ? }
????if(arr[mid] > tar){
????????hig = mid -1;
? ?}
if(arr[mid] < tar){
????low = mid +1;
?}
}
return false;
}