首页 > 其他分享 >367. 有效的完全平方数

367. 有效的完全平方数

时间:2024-11-04 19:19:27浏览次数:1  
标签:平方 return int mid 有效 while num 367 false

题目

自己写的:

class Solution {
public:
    bool isPerfectSquare(int num) {
        int l = 1, r = num;
        while (l <= r)
        {
            int mid = l + (r - l) / 2;
            if ((long long) mid * mid < num) l = mid + 1;
            else if ((long long) mid * mid > num) r = mid - 1;
            else return true;
        }
        return false;
    }
};

这题应该不算难,比69.x的平方根简单。

不过看了官方代码,自己的代码还有改进空间(即不用写多次(long long) mid * mid):

class Solution {
public:
    bool isPerfectSquare(int num) {
        int left = 0, right = num;
        while (left <= right) {
            int mid = (right - left) / 2 + left;
            long square = (long) mid * mid;
            if (square < num) {
                left = mid + 1;
            } else if (square > num) {
                right = mid - 1;
            } else {
                return true;
            }
        }
        return false;
    }
};

标签:平方,return,int,mid,有效,while,num,367,false
From: https://www.cnblogs.com/hisun9/p/18526038

相关文章

  • SDK数据采集:一种抓取精准用户数据并进行分析的有效方式
    SDK软件开发工具包(SDK)数据采集在现代移动应用开发中扮演着至关重要的角色。它不仅可以帮助开发者更好地理解用户行为,还能为产品优化、市场定位和精准营销提供强有力的数据支撑。下面,我们将深入了解SDK数据采集的概念、原理,并通过实例来展示它的应用和意义。集成SDK以采集用户......
  • 633. 平方数之和
    给定一个非负整数c,你要判断是否存在两个整数a和b,使得a2+b2=c。示例1:输入:c=5输出:true解释:1*1+2*2=5示例2:输入:c=3输出:false提示:0<=c<=231-1解题思路:1.平方根可以用java的Math.sqrt方法2.两个数的平方和能否等于目标数完整代码:......
  • Burpsuite下载安装超详细教程,社区版永久有效,专业版汉化激活到2099年,不看会后悔系列
    声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载.未经授权,严禁转载,如需转,联系开白,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关.现在只对常读和星标的公众号才展示大图推送,......
  • 案例:输入(0-20000)且为100的倍数,等价类分析正确的是()A 一个有效,一个无效。B一个有效,两个
    案例:输入(0-20000)且为100的倍数,等价类分析正确的是()A一个有效,一个无效。B一个有效,两个无效。C两个以上有效,两个以上无效。D两个有效,一个无效。解析:首先看等价类划分含义:等价类划分是一种软件测试设计技术,它将输入数据的集合划分为若干个等价类,每个等价类中的数据从程序......
  • 华为机试HJ18 识别有效的IP地址和掩码并进行分类统计
    首先看一下题描述请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。所有的IP地址划分为 A,B,C,D,E五类A类地址从1.0.0.0到126.255.255.255;B类地址从128.0.0.0到191.255.255.255;C类地址从192.0.0.0到223.255.255.255;......
  • 代码随想录一刷——242.有效的字母异位词
    在考虑哈希表选择哪种结构的时候(数组,set,map),在大小和范围都比较小的情况下我们优先考虑数组。在本题中,我们构建一个哈希表,来统计在s中各个字母出现的频次,而后在t中对已统计好频次的哈希表进行自减操作,最后判断哈希表中每个索引是否是0,若不是则s和t不是有效地字母异位词,反之,则......
  • 代码随想录算法训练营第十天|leetcode232.用栈实现队列、leetcode225. 用队列实现栈、
    1leetcode232.用栈实现队列题目链接:232.用栈实现队列-力扣(LeetCode)文章链接:代码随想录视频链接:栈的基本操作!|LeetCode:232.用栈实现队列哔哩哔哩bilibili自己的思路:真的第一次接触这个概念,完全没有任何思路,甚至不知道从何下手1.1基本概念栈就是相当于砌墙的砖头,先......
  • 69. x的平方根
    题目刚开始写的:classSolution{public:intmySqrt(intx){if(x==0)return0;intl=0,r=x;while(l<r){intmid=l+(r-l)/2+1;if(mid*mid>x)r=mid-1;els......
  • java平方根计算 C语言指针变量
    1.publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.println("请输入你的数:");intnum=sc.nextInt();for(inti=1;i<=num;i++){if(i*i==num){System.out.println(i+"就是......
  • 【C++动态规划】有效括号的嵌套深度
    本文涉及知识点C++动态规划LeetCode1111.有效括号的嵌套深度有效括号字符串定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。嵌套深度depth定义:即有效括号字符串嵌套的层数,depth(A)表示有效括号字符串A的嵌套深度。详......