leetcode69 x的平方根

朱雀 2023-06-20 06:23 244阅读 0赞

实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例 1:

输入: 4
输出: 2
示例 2:

输入: 8
输出: 2
说明: 8 的平方根是 2.82842…,
由于返回类型是整数,小数部分将被舍去。

思路:二分

别给我说牛顿迭代,你让工作好几年的人写个牛顿迭代?

  1. public class Solution {
  2. public int mySqrt(int x) {
  3. long left = 0;
  4. long right = Integer.MAX_VALUE;
  5. while (left < right) {
  6. long mid = (left + right + 1) >>> 1;
  7. long square = mid * mid;
  8. if (square > x) {
  9. right = mid - 1;
  10. } else {
  11. left = mid;
  12. }
  13. }
  14. return (int) left;
  15. }
  16. }

20191208190443689.png

发表评论

表情:
评论列表 (有 0 条评论,244人围观)

还没有评论,来说两句吧...

相关阅读

    相关 leetcode69 x平方根

    实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1:

    相关 LeetCode 69x平方根

    题目描述 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。