LeetCode367_367. 有效的完全平方数
一、描述
给你一个正整数 num 。如果 num 是一个完全平方数,则返回 true ,否则返回 false 。
完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。
不能使用任何内置的库函数,如 sqrt 。
示例 1:
输入:num = 16
输出:true
解释:返回 true ,因为 4 * 4 = 16 且 4 是一个整数。
示例 2:
输入:num = 14
输出:false
解释:返回 false ,因为 3.742 * 3.742 = 14 但 3.742 不是一个整数。
提示:
1 <= num <= 2的31次方 - 1
二、题解
方法一:普通方法
//题目不让使用内置函数
/*
执行结果:通过
执行用时:2871 ms, 在所有 Java 提交中击败了3.17%的用户
内存消耗:38.1 MB, 在所有 Java 提交中击败了78.11%的用户
通过测试用例:70 / 70
*/
public boolean isPerfectSquare(int num) {
boolean res = false;
for (long i = 1; i <= num; i++) {
if (i * i == num) {
res = true;
break;
}
}
return res;
}
方法二:库函数
//走出题目限制,使用库函数
/*
执行结果:
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:38.4 MB, 在所有 Java 提交中击败了25.86%的用户
通过测试用例:70 / 70
*/
public boolean isPerfectSquare2(int num) {
int x = (int) Math.sqrt(num);
return x * x == num;
}
LeetCode 367. 有效的完全平方数
LeetCode 371. 两整数之和
LeetCode 383. 赎金信
LeetCode 387. 字符串中的第一个唯一字符
LeetCode 389. 找不同
LeetCode 404. 左叶子之和
LeetCode 412. Fizz Buzz
LeetCode 414. 第三大的数
LeetCode 415. 字符串相加
LeetCode 434. 字符串中的单词数
声明:
题目版权为原作者所有。文章中代码及相关语句为自己根据相应理解编写,文章中出现的相关图片为自己实践中的截图和相关技术对应的图片,若有相关异议,请联系删除。感谢。转载请注明出处,感谢。
By luoyepiaoxue2014
B站: https://space.bilibili.com/1523287361 点击打开链接
微博: http://weibo.com/luoyepiaoxue2014 点击打开链接
457

被折叠的 条评论
为什么被折叠?



