x的平方根-LintCode
2017-08-09 14:21
155 查看
实现 int sqrt(int x) 函数,计算并返回 x 的平方根。
样例
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
样例
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
#ifndef C141_H #define C141_H #include<iostream> using namespace std; class Solution { public: /** * @param x: An integer * @return: The sqrt of x */ int sqrt(int x) { // write your code here if (x == 1) return 1; else if (x == 0) return 0; else if (x < 0) return -1; int left = 0, right = x; int mid; while (left <right) { mid = (left + right) >> 1; if (x/mid==mid) return mid; else if (x/mid < mid) { right = mid-1; } else { left = mid+1; } } return x/left<left?left-1:left; } }; #endif
相关文章推荐
- lintcode-x的平方根-141
- 判断是否为平方数之和-LintCode
- lintcode--完美平方
- lintcode-513-完美平方
- LintCode_x的平方根
- LintCode 完美平方
- 完美平方-LintCode
- x的平方根(LintCode)
- LintCode:x的平方根
- lintcode:完美平方
- lintcode:x的平方根
- LintCode-x的平方根
- LintCode题解之判断是否为平方数之和
- lintcode-141 x的平方根
- lintcode--x的平方根
- lintcode:x的平方根
- [LintCode] 链表插入排序
- 报数-LintCode
- LintCode 二叉树的层次遍历 II
- 逆波兰表达式求值-LintCode