LeetCode刷题之Sqrt

Problem

Implement int sqrt(int x).

Compute and return the square root of x.

My Solution

class Solution {
    public int mySqrt(int x) {
        if (x == 0) {
            return 0;
        }
        for (int i = 1; i <= x / 2 + 1; i++) {
            if (x / i == i) {
                return i;
            } else if (x / i < i) {
                return i - 1;
            }
        }
        return x;
    }
}
Great Solution

public int mySqrt(int x) {
    if (x == 0) return 0;
    long i = x;
    while(i > x / i)  
        i = (i + x / i) / 2;            
    return (int)i;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 虽然电影版、电视版各个版本的杜拉拉曾一度争先恐后的活跃在荧屏。但作为杜拉拉的资深崇拜者,我却没觉得他们泛滥成灾。徐...
    语不惜阅读 3,467评论 0赞 3
  • 黄蓉集天地灵气而于一身,艳绝天下、冰雪聪明、玲珑剔透,多才多艺、博古通今,精通琴棋书画、厨艺了得。 湖边:只见船尾...
    傅悦天阅读 499评论 0赞 3
  • 在北师大建校95周年时,启功先生提出“学为人师,行为世范”作为校训。我们可以理解为:老师应该努力做好学问,以充足的...
    五十亩阅读 7,849评论 0赞 0
  • 最近这段时间,我的典型一天是这样度过的 吱吱吱——小米手环震动。 眼一睁,我条件反射立马抓过手机, 打开“得到”,...
    Barry明少阅读 424评论 1赞 3

友情链接更多精彩内容