知识点
二分
思路
不断二分找到根号x的值,为了防止死循环可以设定好次数
AC Code(c++)
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param x int整型 * @return string字符串 */ string mySqrt(int x) { // 浮点数二分 double l = 0.0, r = x; int T = 100000000; while (T --) { if (r - l < 0.0001) break; double mid = (l + r) / 2; if (mid * mid > 1.0 * x) r = mid; else l = mid; } string res = to_string(r); for (int i = 0; i < 4; i ++) res.pop_back(); return res; } };