367. Valid Perfect Square 平方数

Given a positive integer num, write a function which returns True if num is a perfect square else False.
Note:Do not use any built-in library function such as sqrt.
Example 1:
Input: 16
Returns: True
Example 2:
Input: 14
Returns: False
给定正整数num,编写函数,返回num是否为平方数,要求不使用内置标准库函数。


思路
数学解法
1 = 1
4 = 1 + 3
9 = 1 + 3 + 5
16 = 1 + 3 + 5 + 7
25 = 1 + 3 + 5 + 7 + 9
36 = 1 + 3 + 5 + 7 + 9 + 11
....
1+3+...+(2n-1) = (2n-1 + 1)m/2 = mn (其中m为项数 )

class Solution {
public:
    bool isPerfectSquare(int num) {
        int i = 1;
        while (num > 0) {
            num -= i;
            i += 2;
        }
        return num == 0;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,195评论 18 399
  • 今天是在一起的第四天。 日子从来没有像现在这样让我觉得安稳又快乐。有时想想这一年多两个人一起度过的时光,想想闹过的...
    8061e33c3976阅读 1,328评论 0 0
  • 使用说明 该文档提供给iOS开发团队使用,便于在应用中快速集成埋点SDK。目前为方便扩展,提供源码使用。 SVN地...
    Koson阅读 5,510评论 2 3

友情链接更多精彩内容