-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsqrtOfx.java
34 lines (28 loc) · 824 Bytes
/
sqrtOfx.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class sqrtOfx {
public int mySqrt(int x) {
//base case
if(x==0 || x==1){
return x;
}
int start =1;
int end=x;
int mid=-1;
while(start <= end){
mid = start +(end-start) /2;
if((long) mid*mid>(long)x){
end = mid-1;
}
else if(mid*mid ==x){
return mid;
}
else{
start=mid+1;
}
}
return Math.round(end);
}
}
/*
Given a non-negative integer x, return the square root of x rounded down to the nearest integer. The returned integer should be non-negative as well.
You must not use any built-in exponent function or operator.
For example, do not use pow(x, 0.5) in c++ or x ** 0.5 in python.*/