加载中...
367-有效的完全平方数(Valid Perfect Square)
发表于:2021-12-03 | 分类: 简单
字数统计: 149 | 阅读时长: 1分钟 | 阅读量:

原文链接: https://leetcode-cn.com/problems/valid-perfect-square

英文原文

Given a positive integer num, write a function which returns True if num is a perfect square else False.

Follow up: Do not use any built-in library function such as sqrt.

 

Example 1:

Input: num = 16
Output: true

Example 2:

Input: num = 14
Output: false

 

Constraints:

  • 1 <= num <= 2^31 - 1

中文题目

给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false

进阶:不要 使用任何内置的库函数,如  sqrt

 

示例 1:

输入:num = 16
输出:true

示例 2:

输入:num = 14
输出:false

 

提示:

  • 1 <= num <= 2^31 - 1

通过代码

高赞题解

1 4=1+3 9=1+3+5 16=1+3+5+7以此类推,模仿它可以使用一个while循环,不断减去一个从1开始不断增大的奇数,若最终减成了0,说明是完全平方数,否则,不是。


class Solution 

{

public:

    bool isPerfectSquare(int num) 

    {

        int num1 = 1;

        while(num > 0) 

        {

            num -= num1;

            num1 += 2;

        }

        return num == 0;

    }

};

统计信息

通过次数 提交次数 AC比率
120964 270290 44.8%

提交历史

提交时间 提交结果 执行时间 内存消耗 语言

相似题目

题目 难度
Sqrt(x) 简单
平方数之和 中等
上一篇:
365-水壶问题(Water and Jug Problem)
下一篇:
371-两整数之和(Sum of Two Integers)
本文目录
本文目录