题解 | #求平方根#

求平方根

http://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c

此处是通过累加去求结果,每次增加一个奇数,获得下一次的平方和。而后将平方和与所给x进行比较。

class Solution {
public:
    /**
     *
     * @param x int整型
     * @return int整型
     */
   int sqrt(int x) {
        if(x<=0) 
        	return 0;  //小于等于0 返回0
        int ans = 1; 
        int num = 1;
        int  i = 3;
        while(num + i <= x){
            num += i;  
            ans++; // 每加一个奇数,ans+1
            i += 2;
        }
        return ans;
    }
};

import java.util.*;


public class Solution {
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    public int sqrt (int x) {
        // write code here
        if (x == 1 || x == 0)
            return x;
        int left = 0, right = x, mid = 0;
        while (left < right) {
        mid = left + (right - left) / 2;
            if (((mid + 1) > x/(mid + 1)) && (mid <= x / mid))
                return mid;
            else if (mid > x / mid)
                right = mid;
             else
                 left = mid;
            }
        return mid;
    }
}
全部评论

相关推荐

rbjjj:太杂了吧,同学,项目似乎都没深度,都是api调度耶,分层架构思想没有体现出来了,前端没有前端优化前端工程化体现,后端微服务以及分层架构没体现以及数据安全也没体现,核心再改改,注重于计算机网络,工程化,底层原理吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务