Python | Leetcode Python题解之第279题完全平方数

题目:

题解:

cpp 复制代码
class Solution {
public:
    // 判断是否为完全平方数
    bool isPerfectSquare(int x) {
        int y = sqrt(x);
        return y * y == x;
    }

    // 判断是否能表示为 4^k*(8m+7)
    bool checkAnswer4(int x) {
        while (x % 4 == 0) {
            x /= 4;
        }
        return x % 8 == 7;
    }

    int numSquares(int n) {
        if (isPerfectSquare(n)) {
            return 1;
        }
        if (checkAnswer4(n)) {
            return 4;
        }
        for (int i = 1; i * i <= n; i++) {
            int j = n - i * i;
            if (isPerfectSquare(j)) {
                return 2;
            }
        }
        return 3;
    }
};
相关推荐
青 春 记 忆7 分钟前
零基础入门python35:Django用户登录与权限边界
python·django·后端开发
淼澄研学12 分钟前
LangChain构建Prompt模板解决Python长尾报错实操
python·langchain·prompt
枫叶v.16 分钟前
DeepSeek Harness(DSH)插件开发保姆级教程:从 0 到 1 快速写出第一个插件
python
Htr_24 分钟前
Python面向对象编程:类与对象基础
开发语言·python
muddjsv27 分钟前
Python 神经网络入门:用 scikit-learn 完成 MLP 分类与回归
python·神经网络·scikit-learn
Java后端的Ai之路29 分钟前
09、Python组合模式
开发语言·人工智能·python·docker·组合模式
Tenifs35 分钟前
Python Loguru 使用指南
python·loguru
青 春 记 忆39 分钟前
零基础入门python36:用 Django Session 实现购物车
python·django·后端开发
圣保罗的大教堂1 小时前
leetcode 3734. 大于目标字符串的最小字典序回文排列 困难
leetcode