C++零基础算法100题 - x 的平方根

170 阅读1分钟

题目链接: 69. x 的平方根 - 力扣(LeetCode)

题目描述

image.png

解题思路

  1. 我们规定在1-10000的长度中查找x的平方根
  2. 左指针为0,右指针为10000
  3. 找到mid*mid<=x的数,然后记录ans,丢弃另一部分
  4. 返回ans

代码实现

class Solution {
public:
    int mySqrt(int x) {
        long long l=0,r=1000000;
        long long ans=0;
        while(l<=r){
            long long mid=(l+r)/2;
            if(mid*mid<=x){
                ans=mid;
                l=mid+1;
            }else{
                r=mid-1;
            }
        }
        return (int)ans;
    }
};