Leetcode:367 Valid Perfect Square(是否为平方数)
来源:互联网 发布:递归算法棋子移动java 编辑:程序博客网 时间:2024/06/05 23:39
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
注意审题:以前做过是否为2的平方数,我记得解法是如下,直接统计1的个数。
//如果是2的某次方的值,那么肯定二进制中的数字就只有一个, /*审题错误不一定是二的某次方 * int cou = Integer.bitCount(num); if (cou==1) { return true; } return false;*/
接下来我的AC答案其实很容易想到:
for (int i = 0; i <= num/2+1; i++) { if (i*i == num) { return true; } } return false;
但是速度是相当的慢;Just beats 2.04%
之后看了别人的答案,时间复杂度为logn
public boolean isPerfectSquare(int num) {
int low = 1, high = num; while (low <= high) { int mid = (low + high) /2; if (mid * mid == num) { return true; } else if (mid * mid < num) { low = (int) mid + 1; } else { high = (int) mid - 1; } } return false;}
阅读全文
0 0
- Leetcode:367 Valid Perfect Square(是否为平方数)
- LeetCode Valid Perfect Square(是否是平方数)
- 367. Valid Perfect Square--判断一个数是否为完全平方数
- Leetcode 367. Valid Perfect Square 平方数验证
- 367. Valid Perfect Square |计算一个数是否是一个数的平方
- LeetCode 367 Valid Perfect Square
- leetcode 367 Valid Perfect Square
- LeetCode[367] Valid Perfect Square
- LeetCode 367 Valid Perfect Square
- Leetcode 367 Valid Perfect Square
- 367. Valid Perfect Square有效的平方数
- LeetCode:Valid Perfect Square
- 【Leetcode】valid perfect square
- [leetcode] Valid Perfect Square
- leetcode---Valid Perfect Square
- LeetCode -- Valid Perfect Square
- LEETCODE--Valid Perfect Square
- LeetCode : Valid Perfect Square
- xxtea官方解密
- 1020. Tree Traversals (25)
- cae默认打开软件abaqus的设定
- 博客开篇
- Java笔记-集合
- Leetcode:367 Valid Perfect Square(是否为平方数)
- 【技术】Unity:详细介绍相机的投影矩阵
- JAVA数据类型及类型转换
- sprintf_s函数用法
- Linux压缩与解压缩命令
- 听说你会 Python ?
- python开源项目及示例代码(转)
- loongson2f_龙芯灵珑9S2A一体机设置网络更新源
- PHP设计模式