二分查找——Search Insert Position

来源:互联网 发布:阿里云服务器ssh登录 编辑:程序博客网 时间:2024/05/01 20:33

题目:

给定一个排序的数组和一个 target,若target在数组中找到,则返回下标,否则找出target要插入的index。

例如:

 int[] array={1,3,5,6};     5->2;      2 ->1;      7->4;       0->0.

值的注意的是,跳出while后的不同情况的判断。

public int serchInsert(int[] data,int target){if(data == null||data.length == 0)return 0;int left=0;int right=data.length-1;while(left < right-1){int mid=left+(right-left)/2;if(data[mid] == target)return mid;else if(data[mid] < target)left=mid;elseright=mid;}if(data[left] >= target)//!return left;if(data[right] >= target)return right;else //data[right]<targetreturn data.length;}


1 0
原创粉丝点击