0
点赞
收藏
分享

微信扫一扫

常用的算法模板:二分法

二分法算法

数组:[2,7,7,8,8,10]

模板1(向下取整)

		while(left<right) {
			int mid=(right+left)>>1;
			if(nums[mid]<target)left=mid+1;
			else right=mid;
		}

在模板1中,假设target=8出来的right是3;

模板2(向上取整)

		while(left<right) {
			int mid=(right+1+left)>>1;
			if(nums[mid]>target)right=mid-1;
			else left=mid;
		}

模板2,假设target=7 ,运行后left=2;

举报

相关推荐

0 条评论