二分法查找

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...
    土汪阅读 14,351评论 0 33
  • 二分法查找是定义最小值和最大值,还有一个中间值。将得到的数字与中间数比较,如果大于中间数,把最小值改成中间值加1,...
    腹黑小叶子orz阅读 4,342评论 0 1
  • 1.二分法查找。 思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,...
    Themores阅读 3,483评论 0 1
  • 什么是二分查找法? 二分法检索(binary search)又称折半检索,二分法检索的基本思想是设字典中的元素从小...
    Sheryl_Nome阅读 2,784评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399