打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
二分查找法
二分查找法:前提是已经排序好的数列
package zaizhu.da;

//二分查找法
public class Test30 {
public static void main(String[] args) {
int[] nums= {10,20,50,65,88,90};
int index=binarySearch(nums,10);//定义返回的是数组下标
System.out.println(index);
}
//二分查找算法
public static int binarySearch(int[] nums,int key) {
int start=0;//开始下标
int end=nums.length-1;//结束下标
while(start<end) {
int middle=(start+end)/2;//除二也可以用位移表示  >>>1
if(nums[middle]>key) {
end=middle-1;
}else if(nums[middle]<key){
start=middle+1;
}else {
return middle;
}
}
return -1;
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
534,剑指 Offer-0~n-1中缺失的数字
LeetCode之Search Insert Position
leetcode上的数组算法题
算法入门---二分查找算法
算法:时间复杂度 二分查找法(Java/Go/Python)实现
34 LintCode/LeetCode] Search for a Range [左右边界法/一次循环法]
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服