首页 > 其他分享 >leetcode69

leetcode69

时间:2022-11-10 15:13:35浏览次数:41  
标签:示例 leetcode69 mid 整数 int 平方根

x 的平方根
Category Difficulty Likes Dislikes
algorithms Easy (39.05%) 878 -
Tags
Companies
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

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

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

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

输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

提示:

0 <= x <= 231 - 1
Discussion | Solution

class Solution {
public:
    int mySqrt(int x) {
        int l = 0, r = x / 2 + 1;
        while(l < r)
        {
            int mid = l + ((r-l)>>1) + 1;
            // 如果r = mid - 1 , 那么mid的计算需要加1,防止死循环
            if(x / mid < mid)
                r = mid - 1;
            else
                l = mid;
        }
        return l;
    }
};

标签:示例,leetcode69,mid,整数,int,平方根
From: https://www.cnblogs.com/jinjidelei/p/16877077.html

相关文章

  • leetcode69-x的平方根
    69.x的平方根 简单题,但是考察的内容可以有很多首先是纯暴力法,毫无特色。速度也很慢。classSolution{public:intmySqrt(intx){longlongi=1;......
  • leetcode690-员工的重要性
    员工的重要性dfsclassSolution{Map<Integer,Employee>map=newHashMap<>();publicintgetImportance(List<Employee>employees,intid){......
  • leetcode698-划分为k个相等的子集
    划分为k个相等的子集回溯+剪枝首先先判断总和sum能否被整除。然后对数组排序,从后向前遍历。如果当前的值大于target,表明最大值已经超出范围,直接返回false如果当前的......