数据结构和算法分析数据结构与算法

Leetcode-367 有效的完全平方数

2021-11-11  本文已影响0人  itbird01

367. 有效的完全平方数

解题思路

解法1:借助Math.sqrt和Math.pow,将数字开方之后的整数,如果平方依然是这个数字,这个数字满足完全平方数
解法2:二分查找,但是要注意mid*mid可能为long

解题遇到的问题

后续需要总结学习的知识点

##解法1
class Solution {
    public boolean isPerfectSquare(int num) {
        int k = (int) Math.sqrt(num);
        return num == Math.pow(k, 2);
    }
}

##解法2
class Solution {
    public boolean isPerfectSquare(int num) {
        int left = 0, right = num;
        while (left <= right) {
            int mid = (right - left) / 2 + left;
            long temp = (long) mid * mid;
            if (temp == num) {
                return true;
            } else if (temp < num) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return false;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读