首页 > 其他分享 >69. x 的平方根

69. x 的平方根

时间:2024-09-05 21:47:12浏览次数:5  
标签:平方 int mid ans 69 平方根 left

这题也是利用二分查找来计算。

首先区间是[0,x]。通过x/2的平方判断应该区间左移还是区间右移,同时值得注意的是要记录mid的平方小于x的mid值,因为比如8的平方根是2,所以平方小于x的mid要记录。

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

 

标签:平方,int,mid,ans,69,平方根,left
From: https://www.cnblogs.com/llllmz/p/18399277

相关文章

  • ABC369
     C对于一个等差数列,它里面包含的等差数列(取这个数列的第i位~第j位),必定也是等差数列。寻找等差数列的时候,如果一个等差数列,向最左/最右加1个数后,仍是等差数列,则把它们加上。从而寻找所有场上的等差数列,必定是不重叠的,等差数列彼此独立。从而可以从1遍历到n,O(n)复杂度。对于每......
  • https://www.zhihu.com/pin/1814343061205024769
    在开发Docmatix时,我们发现经其微调的Florence-2在DocVQA任务上表现出色,但在基准测试中得分仍比较低。为了提高基准测试得分,我们必须在DocVQA数据集上进一步对模型进行微调,以学习该基准测试的语法风格。有意思的是,人类评估者认为经额外微调后,模型的表现似乎反而不如仅在Do......
  • 洛谷 P3469 BLO-Blockade
    洛谷P3469BLO-Blockade题意给定一张无向图,求每个点被封锁之后有多少个有序点对\((x,y)(x\ney,1<=x,y<=n)\)满足\(x\)无法到达\(y\)。思路使用Tarjan求出割点,有以下几种情况。当前点不是割点,答案为\(2\times(n-1)\),即该点与其他所有点不连通。当前点是割点,答案......
  • AtCoder Beginner Contest 369 题ABCD详细题解--包含解题思路和两种语言(C++,Python)
    前言:    本文为AtCoderBeginnerContest369题ABCD详细题解,包括题目大意,详细的解题思路和两种语言描述,觉的有帮助或者写的不错可以点个赞几天前的比赛拖的有点久了比赛题目连接:Tasks-AtCoderBeginnerContest369目录题A:题目大意和解题思路:代码(C++):......
  • Codeforces Round 969 (Div. 1)
    Preface暑假最后几天疑似有点摆过头了,训练也没咋训,CF也没咋打这周末就是网络赛了,虽然名额早就满了,但还是得写写题找下手感不然要被学弟暴打了这场由于是Div.1/2分场,补题就只写Div.1的题了A.IrisandGameontheTree首先考虑快速计算一个01串的贡献,不难发现一段相......
  • Codeforces Round 969 (Div. 1 + 2)
    A将序列转化为\(01\)串,奇数为\(1\),偶数为\(0\)。容易发现两个\(0\)不能分在同一组,于是答案的上限取决于奇数的个数,并且容易构造方案达到这个上界,随便做做就行。B将序列排序后,发现不管怎么加,大小顺序不变,记录下最大值按题意模拟。C根据基本数论知识可得,操作等价于加上......
  • 代替STM32L010 STM32G030 CMS8S6990 STM8S003的芯片CW32L010
    CW32L010作为一款可以代替STM32L010STM32G030CMS8S6990STM8S003部分型号可以兼容的芯片,其功能上能够和它们相匹配,并且在功能更优秀,其芯片特点在于超低功耗,高精度ADC和主频最高可达到48MHz。CW32L010是基于eFlash的单芯片低功耗微控制器,集成了主频高达48MHz的ARM®Cort......
  • 2024.9.4 leetcode169 多数元素 (C++)
    题面https://leetcode.cn/problems/majority-element/description/ 解答一开始想得比较暴力,直接把对应数字当数组下标,遇到对应数字,数组++,但不知道怎么处理-10^9~10^9的数据大小,后来想了一个办法,那就是先排序,再求连续的个数,个数大于n/2的时候,return结果。太久没接触C++语法、......
  • H6922 低压升压恒压芯片 支持3.7V-5V-9V升12V24V30V48V54V60V72V100V 200W大功率
    H6922低压升压恒压芯片:高效能、多功能,应用于多种电源管理在当今的电子设备中,电源管理芯片扮演着至关重要的角色。其中,H6922作为一款好的低压升压恒压芯片,凭借其高效能、多功能以及应用领域,受到了市场的关注。产品概述H6922是一款外围电路简单的BOOST异步升压恒压控制驱动芯片,适用于......
  • 打卡信奥刷题(696)用Scratch图形化工具信奥B3922[普及组/提高] [GESP202312 一级] 小杨
    [GESP202312一级]小杨报数题目描述小杨需要从111到NNN报数......