套路总结,大量图片案例,简单易懂"/>
二分套路总结,大量图片案例,简单易懂
01.一般的二分套路分析
private static int search(int[] arr, int target) {int l=0,r=arr.length-1;while (l<=r) {int mid=(l+r)>>1;System.out.println(l+" "+mid+" "+r);if(arr[mid]==target) return mid;else if(arr[mid]>target) r=mid-1;else l=mid+1;}return -1;//找不到则返回-1}
具体案例流程如下
02.查找>=target的第一个元素
private int search(int[] arr, int target) {int l=0,r=arr.length-1;while (l<r) {int mid=(l+r)>>1;System.out.println(l+" "+mid+" "+r);if(arr[mid]>=target) r=mid;else l=mid+1;}return r;}
具体案例流程如下
03.查找<=target的最后一个元素
private static int search(int[] arr, int target) {int l=0,r=arr.length-1;while (l<r) {int mid=(l+r+1)>>1;System.out.println(l+" "+mid+" "+r);if(arr[mid]<=target) l=mid;else r=mid-1;}return l;}
具体案例流程如下
04.练习巩固
- 一元三次方程求解:
- A-B数对:
题解: - 烦恼的高考志愿:
题解: - 跳石头(普及)
题解:
更多推荐
二分套路总结,大量图片案例,简单易懂
发布评论