1 解题思想
这道题就是要求实现一个开根号的函数方法,我想在这里说的有:
1、二分法逼近,也就是我给出的做法,因为开根号给出的结果一定是在1到它本身之间的一个范围,所以我们初始让min=1,max=本身,每次求MID去逼近。
2、牛顿迭代法:这个比较复杂,可以网上看看一看,这里给一个集合:http://www.docin.com/p-571369782.html,这里除了牛顿迭代法,还有更多其他的算法
但是这题,有一个假设,就是输入的数开根号后也是整数,所以选择1方法最容易了
2 原题
Implement int sqrt(int x).
Compute and return the square root of x.
3 AC解
public class Solution {
public int mySqrt(int x) {
long min=0,max=x,mid=0,tmp,xs=x;