公司动态

LeetCode.367.有效的完全平方数(Java)

📅 2026/8/25 15:14:08
LeetCode.367.有效的完全平方数(Java)
题目给你一个正整数num。如果num是一个完全平方数则返回true否则返回false。完全平方数 是一个可以写成某个整数的平方的整数。换句话说它可以写成某个整数和自身的乘积。不能使用任何内置的库函数如sqrt。这个题目用二分解决即可看到评论里有使用等差数列求和的做法。很容易理解但是又没那么容易想到把我一下拉回了高中有些算法写着写着就忘记了数学这座大山有些时候可能在厉害的递归也不如数学上一条简单的公式吧在今后的学习中也要多注意此情况。。。class Solution { public boolean isPerfectSquare(int num) { int i 0; int j num; int mid (i j) / 2; while(i j) { if ((long)mid * mid num) { i mid 1; }else if ((long)mid * mid num){ j mid - 1; }else { return true; } mid (i j) / 2; } return false; } }class Solution { public boolean isPerfectSquare(int num) { int num1 1; while(num 0) { num - num1; num1 2; } return num 0; } }