題目描述
Implement int sqrt(int x).
Compute and return the square root of x, where x is guaranteed to be a non-negative integer.
Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.
Example 1:
Input: 4
Output: 2
Example 2:
Input: 8
Output: 2
Explanation: The square root of 8 is 2.82842..., and since
the decimal part is truncated, 2 is returned.
分析:實(shí)現(xiàn)開方這個(gè)方法废士,但是如果遇到開方不盡的情況瞬女,采取舍去小數(shù)點(diǎn)的操作铲敛。
我的Code如下:
class Solution {
public int mySqrt(int x) {
int n = 0;
if (x == 0) {
return n;
}
if (x == 1) {
return 1;
}
for (int i = 1; i <= x / 2; i++) {
if (i * i == x) {
return i;
}
if (i * i < x && (i + 1) * (i + 1) > x) {
return i;
}
//這里要考慮溢出的情況
if(i * i < x && (i + 1) * (i + 1) < 0){
return i;
}
}
return n;
}
}