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

367.有效地完全平方数

目录

  • 题目
  • 解法
  • 解法二
  • 问题

题目

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

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

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

解法

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;}
};

解法二

掌握常见数列的特性,也能帮助解题
完全平方数的特性:每个完全平方数都可以表示为从 1 开始的连续奇数之和

var isPerfectSquare = function(num) {if (num < 0) {return false;}let i = 1;while (num > 0) {num -= i;i += 2;}return num === 0;
};

问题

有一个用例容易得到内存溢出的问题
在这里插入图片描述
在这里插入图片描述
需要用long类型,并把int类型强转
在这里插入图片描述


http://www.mrgr.cn/news/68826.html

相关文章:

  • m6ATM
  • (蓝桥杯C/C++)——基础算法(下)
  • ONLYOFFICE ——让团队合作更高效
  • 内网学习一:windows基础
  • Pytorch如何精准记录函数运行时间
  • Rust-宏编程
  • HCIP MPLS基础
  • 【JavaScript】网络请求之Promise fetch Axios及异步处理
  • YOLO11 旋转目标检测 | 数据标注 | 自定义数据集 | 模型训练 | 模型推理
  • 新一代AI换脸更自然,DeepLiveCam下载介绍(可直播)
  • C++代码优化(二): 区分接口继承和实现继承
  • 小白docker入门简介
  • 【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整试卷
  • AI 大模型重塑软件开发:从代码自动生成到智能测试
  • 深度学习:bert模型
  • C#-里氏替换原则
  • 2.Python解释器
  • 抗辐照CANFD芯片工艺解析:如何保障芯片的可靠性
  • Python操作Excel
  • 1.python介绍、安装
  • _处理匿名命名空间里的变量时进入硬件中断错误
  • Scaffold-ETH 2:颠覆传统开发的区块链神器,快速构建你的去中心化应用!
  • 基于毫米波雷达和TinyML的车内检测、定位与分类
  • Excel快捷键大全
  • LeetCode 二分算法 范围内整数的最大得分
  • JavaScript 网页设计详解教程