LeetCode 367 Valid Perfect Square
来源:互联网 发布:人工蜂群算法工具箱 编辑:程序博客网 时间:2024/06/05 11:58
题目:
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: 16Returns: True
Example 2:
Input: 14Returns: False题目链接
题意:
给一个正整数,要求实现判断它是否为一个数的平方。不可以使用库函数中的sqrt函数。
利用二分查找算法,每次查找中间值,判断中间值的平方和num之间的关系,实现过程中注意int的越界问题,中间变量应当使用long long类型变量。
代码如下;
class Solution {public: bool isPerfectSquare(int num) { int l = 0, r = num; while (l < r) { long long mid = (l+r) >> 1; long long temp = mid * mid; if (temp > num) { r = mid - 1; } else if (temp < num) { l = mid + 1; } else { return true; } } return l*l == num; }};
阅读全文
0 0
- 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
- 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
- [leetcode-367]Valid Perfect Square(java)
- LeetCode 第 367 题 (Valid Perfect Square)
- leetcode :Binary Search:Valid Perfect Square(367)
- leetcode 367[easy]----Valid Perfect Square
- LeetCode 367. Valid Perfect Square
- Leetcode 367. Valid Perfect Square
- 【Eclipse】Java 内存溢出(java.lang.OutOfMemoryError)
- Python语言入门学习笔记【智库2861】(不断更新)
- hdu 6092 Rikka with Subset
- [HDU
- RocketMQ存储篇——CommitLog
- LeetCode 367 Valid Perfect Square
- 微信开发中的消息验证与消息回复
- Socket InputStream读取无结束符且不等长数据
- Android相机预览方向
- 西门子PLC软/硬件故障判断和处理方法
- JAVA I/O
- Jenkins前期准备工作及环境变量配置
- Android 用intent 列出手机中全部的浏览器
- 在持久化类中声明多列作为联合主键