【Leetcode刷题Python】367. 有效的完全平方数
1 题目
给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。
进阶:不要 使用任何内置的库函数,如 sqrt 。
示例 1:
输入:num = 16
输出:true
2 解析
(1)方法一
利用
(
n
+
1
)
2
−
n
2
=
2
n
+
1
(n+1)^2 - n^2 = 2n+1
(n+1)2−n2=2n+1,距离4 = 1+3,9 = 1+3+5,16 = 1+3+5+7,反过来,判断是一个数是不是平方数,逐个减去奇数,如果最后等于0,就是平方数
(2)方法二
利用暴力求解,二分的思想去减少暴力求解的次数。
3 Python实现
(1)方法一
class Solution:
def isPerfectSquare(self, num: int) -> bool:
i = 1
while num>0:
num -=i
i +=2
if num==0:
return True
else:
return False
(2)方法二
left ,right = 0,num
index = 0
while left <=right:
mid = (left+right)//2
if mid*mid<=num:
index = mid
left = mid+1
else:
right = mid-1
if index*index ==num:
return True
else:
return False
相关文章
- Python基础24-MySQL模块pymysql
- Python获取时间戳_python爬虫时间戳
- python win32api messagebox_如何在Python中使用Win32 API?
- python移动app开发_神奇的Kivy,让Python快速开发移动app
- python格式化转换_Python进制转换format格式化[通俗易懂]
- python删除首行_Python删除文件第一行
- python chmod_使Python脚本可执行chmod755?
- Python: 通过Ghostscript压缩pdf文件
- Python如何让字典保持有序存储
- 【说站】python两种不同的文件流读写
- Python基础:标准库和常用的第三方库「建议收藏」
- Python安装失败_python第三方库安装失败
- python json.loads 中文_Python 的完美 json loads
- 谁说只有Python才能写爬虫了?Javaer转身甩出这个框架:给爷爬!
- 【7】python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决
- 【测试开发】python系列教程:Python注释和解释器
- Python 异步: 等待任务集合(11)
- 【Python】npy/pkl/csv读写效率测试
- python-Python与SQLite数据库-SQLite数据库的基本知识(一)
- python生成417条形码(PDF417)详解编程语言
- OpenCV + python 实现人脸检测(基于照片和视频进行检测)详解大数据
- Linux系统如何运行Python脚本(linux执行python脚本)
- MySQL与Python搭配,实现数据库操作。(mysql-python)
- Python驱动Oracle数据库(python操作oracle)
- 快速掌握Linux系统中Python文件的执行(linuxpy文件执行)
- Python脚本实现Linux系统管理及自动化部署(python写linux)
- Linux下从系统卸载Python(linux下卸载python)
- python海龟绘图实例教程
- Python异常处理总结