leetcode记录
二分查找通用模板
class Solution {
public int search
(int[] nums
, int target
){
if(nums
== null
|| nums
.length
==0){
return -1;
}
int left
= 0, right
= nums
.length
- 1;
while(left
<= right
){
int mid
= left
+ (right
- left
) / 2;
if(nums
[mid
] == target
){
return mid
;
}else if(nums
[mid
] < target
){
left
= mid
+ 1;
}else {
right
= mid
- 1;
}
}
return -1;
}
}
整数求平方根无小数
class Solution {
public int mySqrt
(int x
) {
int left
= 0,right
= x
, ans
= -1;
while( left
<= right
) {
int mid
= left
+ (right
-1) / 2;
if ((long) mid
* mid
<= x
) {
ans
= mid
;
left
= mid
+ 1;
} esle
{
right
= mid
- 1;
}
}
return ans
;
}
}
转载请注明原文地址: https://lol.8miu.com/read-32413.html