当前位置: 首页 > news >正文

长春火车站照片/百度指数免费添加

长春火车站照片,百度指数免费添加,公司网站兰州建设需要多少钱,昆明做网站公司367. 有效的完全平方数 给你一个正整数 num 。如果 num 是一个完全平方数,则返回 tru ,否则返回 false 。 完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。 不能使用任何内置的库函数&#xf…

367. 有效的完全平方数

给你一个正整数 num 。如果 num 是一个完全平方数,则返回 tru ,否则返回 false

完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。

不能使用任何内置的库函数,如 sqrt

示例 1:

输入:num = 16
输出:true
解释:返回 true ,因为 4 * 4 = 16 且 4 是一个整数。

示例 2:

输入:num = 14
输出:false
解释:返回 false ,因为 3.742 * 3.742 = 14 但 3.742 不是一个整数。

提示:

  • 1<=num<=231−11 <= num <= 2^31 - 11<=num<=2311

思路:

法一:二分查找

  • 注意 num 最大可以取到 231−12^{31} - 12311,在该附近的数平方,会超出int的范围,要使用long

法二:观察法、等差数列

  • 平方序列: 1, 4, 9, 16, 25, …
  • 间隔: 3, 5, 7, 9, …

间隔为等差数列,使用这个特性可以得到从 1 开始的平方序列

代码:(Java、C++)

Java
法一:

public class IsPerfectSquare {public static void main(String[] args) {// TODO Auto-generated method stubint num = 16;System.out.println(isPerfectSquare(num));}public static boolean isPerfectSquare(int num) {long l = 1,h = num;long mid = 0;while(l <= h) {mid = l + (h - l) / 2;if(mid * mid == num) {break;}else if(mid * mid > num) {h = mid - 1;}else {l = mid + 1;}}return mid * mid == num;}
}

法二:

public static boolean isPerfectSquare(int num) {int addNum = 3;long sum = 1;while(sum < num) {sum += addNum;addNum += 2;}return sum == num;
}

C++
法一:

class IsPerfectSquare {
public:bool isPerfectSquare(int num) {long l = 1, h = num, mid;while (l <= h) {mid = l + (h - l) / 2;if (mid * mid == num) {break;}else if (mid * mid > num) {h = mid - 1;}else {l = mid + 1;}}return mid * mid == num;}
};int main() {IsPerfectSquare i;int num = 16;cout << i.isPerfectSquare(num) << endl;system("pause");return 0;
}

法二:

class IsPerfectSquare {
public:bool isPerfectSquare(int num) {int addNum = 3;long sum = 1;while(sum < num) {sum += addNum;addNum += 2;}return sum == num;}
};

运行结果:

在这里插入图片描述
leetcode运行结果:
在这里插入图片描述

复杂度分析:

  • 时间复杂度:法一:O(log⁡n)O(log⁡n)O(logn);法二:O(n)O(\sqrt{n})O(n)
  • 空间复杂度O(1)O(1)O(1)

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我 leetCode专栏,每日更新!

注: 如有不足,欢迎指正!

http://www.lbrq.cn/news/963721.html

相关文章:

  • 用买的服务器 做网站/宁德seo培训
  • 宇讯网站建设/制作一个网站步骤
  • 石家庄网站如何制作/企业推广文案
  • 南通装饰网站建设/百度精准引流推广
  • 深圳企业网站建设服务哪家公司好/口碑营销的产品
  • 大型wordpress theme/seo引擎优化培训
  • 做设计去哪个网站找素材/seo推广方法集合
  • 石家庄工程造价信息网/宁波谷歌seo推广
  • 苏州网站的优化/百度快速收录网站
  • 雄安免费网站建设方案/网站百度不收录
  • 建设银行河北分行网站/优化营商环境个人心得
  • 网站 留言 以邮件形式/互联网营销专家
  • 上海网站设计成功柚v米科技/网络营销成功案例分析其成功原因
  • 书店网站建设设计方案/99个创意营销方案
  • 网站欢迎页面设计/迅雷磁力链bt磁力天堂
  • 重庆在线/廊坊关键词优化排名
  • 网站制作工作室专业公司/lpl赛区战绩
  • 公司的网站建设费用算什么费用/网站推广优化排名教程
  • 网站内容模板/阿里云域名注册官网网址
  • 疫情防控工作新闻发布会/双滦区seo整站排名
  • 网站短时间怎么做权重/百度关键词优化查询
  • 引流渠道推广/论述搜索引擎优化的具体措施
  • 临沂外贸网站/qq群引流推广网站
  • 做淘宝客的的网站有什么要求/seo公司优化方案
  • 企业网站备案怎么做/河北百度竞价优化
  • 仿牌外贸网站建设/nba季后赛最新排名
  • 用react和ant.d做的网站例子/广告网
  • 男女做暖暖到网站/网站排名费用
  • 做网站须要什么技术/万网登录入口
  • 做参茸产品的网站/上海搜索seo
  • 2025年5大国产ETL工具横向评测
  • .NET Framework版本信息获取(ASP.NET探针),获取系统的.NET Framework版本
  • 2024年ASOC SCI2区TOP,基于干扰模型的灰狼优化算法IIE-GWO+复杂丘陵地形农业无人机轨迹规划,深度解析+性能实测
  • 【37】MFC入门到精通——MFC中 CString 数字字符串 转 WORD ( CString, WORD/int 互转)
  • 数据投毒技术之标签翻转
  • SVG基础语法:绘制点线面的简单示例