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

69. x 的平方根

时间:2023-12-19 13:33:20浏览次数:33  
标签:return int mid long 69 平方根

69. x 的平方根

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

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

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

二分思路

数据挺大,用longlong。

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

使用二分算法的一个特征是有序,但是本质上还是分析问题的划分性质。

标签:return,int,mid,long,69,平方根
From: https://www.cnblogs.com/isomer/p/17913522.html

相关文章

  • P3694 邦邦的大合唱站队 题解
    原题链接:P3694思路状态设计因为这道题\(m\)的范围非常小,所以可以用\(m\)来作为状态。设\(dp_{i}\)表示\(m\)支队伍的状态为\(i\)时最少让多少偶像出列。预处理在转移之前,我们先要预处理出序列的前缀和\(sum_{i,j}\)表示第\(i\)个数之前有多少个值为\(j\)......
  • [UOJ693] 地铁规划
    这是一道交互题。新首都跳蚤利亚需要建立地铁线路!hehe蚤负责了这个项目。跳蚤利亚有$n$个地铁站,还有$m$条线路计划设立,第$i$条铁轨将在$u_i$和$v_i$之间建立一条双向线路($u_i\neqv_i$)。可能有两条线路连接的地铁站相同。由于跳蚤利亚是面向未来的节能环保城市,hehe......
  • 题解 LGP7294【[USACO21JAN] Minimum Cost Paths P】/ accoders::NOI 5696【棋子】
    problemFarmerJohn的牧草地可以看作是一个\(N×M\)(\(2≤N≤10^9,2≤M≤2⋅10^5\))的正方形方格组成的二维方阵(想象一个巨大的棋盘)。对于\(x∈[1,N],y∈[1,M]\),从上往下第\(x\)行、从左往右第\(y\)列的方格记为\((x,y)\)。此外,对于每一个\(y∈[1,M]\),第\(y\)列拥有一个......
  • 【CF1698C】3SUM Closure
    题目大意:判断一个数组是否满足其中任意三个元素之和均为数组的元素如果一个元素出现的次数大于三,那么我们将这个元素的数量减到三,答案不会变。另外,我们发现,如果数组至少中有三个正数,或者至少有三个负数,那么答案一定为NO。如果上面的条件不满足,那么现在这个数组里的元素最多只......
  • [LeetCode] LeetCode692. 前K个高频单词
    题目描述思路注意是前K个高频单词,就是TopK问题,只能用小根堆找最大的K个元素啊,用大根堆找的就是最小的K个元素了思路一:classSolution{publicList<String>topKFrequent(String[]words,intk){Map<String,Integer>map=newHashMap<>();//小......
  • SP21690 POWERUP - Power the Power Up 题解
    题目传送门前置知识扩展欧拉定理解法直接对\(a\)和\(b^c\)分讨,跑一遍扩展欧拉定理就行了。另外由于本题的特殊规定\(0^0=1\),故需要在当\(a=0\)时,对\(b^c\)进行判断。手模几组样例,发现结论挺显然的。代码#include<bits/stdc++.h>usingnamespacestd;#definell......
  • 秦疆的Java课程笔记:69 面向对象 Super详解
    super调用父类属性//首先写一个父类publicclassPerson{protectedStringname="1";}//然后写一个子类publicclassStudentextendsPerson{privateStringname="2";publicvoidtest(Stringname){System.out.println(name)......
  • [ARC169E] Avoid Boring Matches
    题解链接非常厉害的一道题。考虑无解是什么情况?R的个数超过\(2^{n-1}\)先考虑如何判定。从前往后考虑,如果遇到一个B,那么如果后面有R,就选最靠前的R,否则选最靠后的一个B.如果遇到R,就选最靠后的一个B。但是这个判定很繁琐。我们考虑求出一个合法序列,使得他的B尽量靠后......
  • AtCoder Regular Contest 169
    A-PleaseSign某个\(A_i\)对\(A_1\)的贡献是\(\binom{10^{100}}{\mathrm{dep}_i}\),所以深度为\(d\)的节点的\(A_i\)之和只要不为\(0\),其贡献就一定远大于深度\(<d\)的所有点的贡献之和。从大到小找到第一个和非零的深度即可。B-SubsegmentswithSmallSums直......
  • AtCoder Regular Contest 169 (ARC169)
    怎么有人ARCA卡了半天的?A.PleaseSign考虑\(i\)位置上的数,下次它被加到\(P_i\),再下次被加到\(P_{P_i}\),因为这个序列有性质\(P_i<i\),这样加若干轮一定会到达\(1\)。令所有的\(i\)向\(P_i\)连边,则这是一棵以\(1\)为根的树。设\(f_i=\sum\limits_{j=1}^n[dep_......