二分法查找

public class BinaryFind {

public static void main(String[] args) {

int[] array={1,33,43,52,67,72,84};

//Binary bf=new Binary();

Binary.find(0, array.length-1,84, array);

}

}

class Binary{

public static void find(int leftIndex,int rightIndex,int val, int[] array){

//找到中間數

int midIndex=(leftIndex+rightIndex)/2;

int midVal=array[midIndex];

if(rightIndex>=leftIndex){

if(rightIndex>=leftIndex){

//如果要找的數比midVal大

if(midVal>val){

//從array左邊找

find(leftIndex,midIndex-1,val,array);

}else if(midVal==val){

System.out.println("找到下標"+midIndex);

}

}

}

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,778評論 0 33
  • 二分法查找是定義最小值和最大值,還有一個中間值。將得到的數字與中間數比較,如果大于中間數,把最小值改成中間值加1,...
    腹黑小葉子orz閱讀 892評論 0 1
  • 1.二分法查找。 思想:假設數據是按升序排序的,對于給定值 x,從序列的中間位置開始比較,如果當前位置值等于 x,...
    Themores閱讀 534評論 0 1
  • 什么是二分查找法? 二分法檢索(binary search)又稱折半檢索,二分法檢索的基本思想是設字典中的元素從小...
    Sheryl_Nome閱讀 368評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,778評論 18 399