Update BinarySearch.java

master
wangsiyuan 2024-07-10 00:31:03 +08:00
parent 7827051d82
commit 4f478c08ac
1 changed files with 23 additions and 6 deletions

View File

@ -1,5 +1,4 @@
package com.nbee.solution.practice; package com.nbee.solution.practice;
class BinarySearch { class BinarySearch {
public static int binarySearchBasic(int[] nums, int target){ public static int binarySearchBasic(int[] nums, int target){
int i = 0 ,j = nums.length - 1;//设置指针和初始值 int i = 0 ,j = nums.length - 1;//设置指针和初始值
@ -17,10 +16,28 @@ class BinarySearch {
} }
} }
return -1; return -1;
}
/** /**
* i<=j? * i<=j?
* 使 i <= j * 使 i <= j
* i < j i j * i < j i j
*/ */
}
public static int binarySearchAlternative(int[] nums, int target){
int i = 0 ,j = nums.length;
while (i < j){
int m = (i + j) >>> 1;
if (target < nums[m]){
j = m;
}
else if (nums[m] < target){
i = m + 1;
}
else {
return m;
}
}
return -1;
}
} }