您当前的位置: 首页 >  Python

Better Bench

暂无认证

  • 3浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Leetcode刷题Python】367. 有效的完全平方数

Better Bench 发布时间:2022-07-30 21:37:58 ,浏览量:3

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             
关注
打赏
1665674626
查看更多评论
0.0372s