def binary_search(nums,target):
l,r=0,len(nums)-1
while l<=r:
mid=(l+r)//2
if nums[mid]==target: return mid
elif nums[mid]<target: l=mid+1
else: r=mid-1
return -1
public int binarySearch(int[] nums,int target){
int l=0,r=nums.length-1;
while(l<=r){
int mid=(l+r)/2;
if(nums[mid]==target) return mid;
else if(nums[mid]<target) l=mid+1;
else r=mid-1;
} return -1;
}
Nearly identical. // vs / for integers. Multi-assign Python only.
def binary_search(nums,target):
l,r=0,len(nums)-1
while l<=r:
mid=(l+r)//2
if nums[mid]==target: return mid
elif nums[mid]<target: l=mid+1
else: r=mid-1
return -1
public int binarySearch(int[] nums,int target){
int l=0,r=nums.length-1;
while(l<=r){
int mid=(l+r)/2;
if(nums[mid]==target) return mid;
else if(nums[mid]<target) l=mid+1;
else r=mid-1;
} return -1;
}
1. l=0 r=last 2. Check mid 3. Adjust range