367ValidPerfectSquare

来源:互联网 发布:淘宝店铺年度运营计划 编辑:程序博客网 时间:2024/06/05 22:05

题意:输入一个数,判断该数是否是完全平方数(true是,false否),要求不能使用库函数sqrt

思路:1、任何一个数都能质因数分解,判断质因子是否成对出现;(超时)O(sqrt(n))

            2、找到a^2 = n中a的值,采用binary search。O(log(n/2))

           3 、递推关系式, x^2 - (x-1)^2 = 2x-1 ,... 3^2 - 2^2 = 2*3 -1, 2^2-1^2 = 2*2 -1, 所以,x^2 = 1+3+5+...+ (2x-1),即如果一个数是完全平方数,必定能写成1、3。。。的序列

 


0 0