给定一个 正整数 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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?