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