leetcode69.x 的平方根

题目:

给你一个非负整数 x ,计算并返回 x算术平方根

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

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

示例 1:

输入: x = 4
**输出:**2

示例 2:

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

提示:

  • 0 <= x <= 231 - 1

代码:

java 复制代码
class Solution {
    public int mySqrt(int x) {
        int left = 0;
        int right = x;
        int ans = -1;
        while (left <= right) {
            int mid = (right - left) / 2 + left;
            if ((long)mid * mid <= x) {
                left = mid + 1;
                ans = mid;
            } else{
                right = mid - 1;
            }
        }
        return ans;
    }
}

解释:

该题主要找一个数的平方等于题目给的数字,但如果是小数,需要舍去小数部分,只留整数部分,因此在编写的时候注意边界,即如果该数平方大于给定的数字,则不考虑,具体理解上方代码。

注意:

如果将最后的值输出。

相关推荐
朝朝又沐沐12 分钟前
算法竞赛阶段二-数据结构(38)数据结构动态链表list
数据结构·算法·链表
死也不注释12 分钟前
【在Unity游戏开发中Dictionary、List介绍】
数据结构·游戏·unity·游戏引擎·list·游戏程序
geovindu12 分钟前
ArKTS:List 数组
数据结构·list·harmonyos
天天开心(∩_∩)1 小时前
代码随想录算法训练营第三十七天
java·开发语言·算法
YuTaoShao1 小时前
【LeetCode 热题 100】20. 有效的括号
java·linux·数据库·leetcode
Peter·Pan爱编程1 小时前
CUDA系列之常用Runtime API简介
c++·算法
Shun_Tianyou1 小时前
Python Day20 os模块 和 文件操作 及 例题分析
开发语言·数据结构·python·算法
逸风尊者2 小时前
开发也能看懂的大模型:强化学习
java·算法·trae
hello 早上好2 小时前
负载均衡、算法/策略
运维·算法·负载均衡
冲帕Chompa2 小时前
今日矩阵系列
数据结构·算法·矩阵