题目

类型:Math
image.png

解题思路

二分查找
image.png

代码

  1. class Solution {
  2. public boolean isPerfectSquare(int num) {
  3. int left = 0, right = num;
  4. while (left <= right) {
  5. int mid = (right - left) / 2 + left;
  6. long square = (long) mid * mid;
  7. if (square < num) {
  8. left = mid + 1;
  9. } else if (square > num) {
  10. right = mid - 1;
  11. } else {
  12. return true;
  13. }
  14. }
  15. return false;
  16. }
  17. }