欢迎光临散文网 会员登陆 & 注册

LeetCode-367-有效的完全平方数

2021-09-24 08:12 作者:雄狮虎豹  | 我要投稿

有效的完全平方数

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

完全平方数:完全平方指用一个整数乘以自己例如1*12*23*3等,依此类推。若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。完全平方数是非负数,而一个完全平方数的项有两个。

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

示例说明请见LeetCode官网。

来源:力扣(LeetCode)   

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

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解法一:二分查找法

用二分查找的方法来寻找num的开方是否是一个整数。首先,声明low为0,high为最大整数的平方根,二分查找的过程如下:

  • 首先,low不大于high;

  • 声明一个mid,mid等于(low + high) / 2

  • 如果mid * mid == num,则说明num是一个完全平方数,直接返回true;

  • 如果mid * mid > num,则将high设置为mid - 1,然后进行下一轮处理;

  • 如果mid * mid < num,则将low设置为mid + 1,然后进行下一轮处理。

最后,如果没找到整数的平方等于num,则说明num不是一个完全平方数,返回false。

【每日寄语】 愿你忠于自己,活的认真;笑得放肆。



LeetCode-367-有效的完全平方数的评论 (共 条)

分享到微博请遵守国家法律