敲代码的第。。。天,一道很简单的面试题

2019-06-28  本文已影响0人  Aa土豆

今天碰到一个非常非常简单的面试题,但是我还是在规定的时间没有写出来,借此纪念一下。

/*

面试题:

给定一个有序的数组,如果往该数组中存储一个元素,并保证这个数组还是有序的,那么这个元素存储的角标如何获取

*/

class ArrayDemo

{

public static void main(String[] args)

{

int[] arr = {2,5,7,12,15,17,19,30,39,48,89,90};

int index = halfSearch(arr,1);

System.out.println(index);

}

public static int halfSearch(int[] arr,int key)

{

  int max,min,mid;

  max = arr.length - 1;

  min = 0;

  while(min <= max)

  {

  mid = (max + min) / 2;

if(key > arr[mid])

min = mid + 1;

else if(key < arr[mid])

max = mid - 1;

else

return mid;

  }

return min;

}

}

上一篇 下一篇

猜你喜欢

热点阅读