LeetCode150道面试经典题-- 求算数平方根(简单)

1.题目

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

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

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

2.示例

示例 1:

输入:x=4

输出:2

示例 2:

**输入:**x = 8

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


3.思路

二分法:

标准的面试题,考察的是二分法的使用,通过设置上界与下界不断寻找中值以寻找正确值。

4.代码

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

相关推荐
2501_941803624 小时前
在柏林智能城市照明场景中构建实时调控与高并发能耗数据分析平台的工程设计实践经验分享
算法
言之。4 小时前
DDIA第四章 数据库存储引擎面试问题集
数据库·面试·职场和发展·ddia
福楠4 小时前
C++ STL | list
c语言·开发语言·数据结构·c++·算法·list
努力学算法的蒟蒻4 小时前
day55(1.6)——leetcode面试经典150
算法·leetcode·面试
s砚山s4 小时前
代码随想录刷题——二叉树篇(十)
算法
2301_764441334 小时前
基于HVNS算法和分类装载策略的仓储系统仿真平台
人工智能·算法·分类
AI科技星4 小时前
统一场论变化的引力场产生电磁场推导与物理诠释
服务器·人工智能·科技·线性代数·算法·重构·生活
杰克逊的日记4 小时前
规控算法(规划 + 控制算法)
大数据·算法·云计算·it
玉树临风ives4 小时前
atcoder ABC439 题解
c++·算法
这周也會开心4 小时前
JVM-垃圾回收算法
jvm·算法