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;
    }
};
相关推荐
witAI10 分钟前
手机生成剧本杀软件2025推荐,创新剧情设计工具助力创作
人工智能·python
py有趣33 分钟前
力扣热门100题之合并区间
算法·leetcode
派大星~课堂35 分钟前
【力扣-138. 随机链表的复制 ✨】Python笔记
python·leetcode·链表
王忘杰36 分钟前
0基础CUDA炼丹、增加断点保存,从零开始训练自己的AI大模型 87owo/EasyGPT Python CUDA
开发语言·人工智能·python
数据知道39 分钟前
claw-code 源码详细分析:`reference_data` JSON 快照——大型移植里「对照底稿」该怎么治理与演进?
linux·python·ubuntu·json·claude code
cpp_250139 分钟前
P10108 [GESP202312 六级] 闯关游戏
数据结构·c++·算法·动态规划·题解·洛谷·gesp六级
好家伙VCC39 分钟前
**发散创新:基于以太坊侧链的高性能去中心化应用部署实战**在区块链生态中,*
java·python·去中心化·区块链
瞭望清晨1 小时前
Python多进程使用场景
开发语言·python
py有趣1 小时前
力扣热门100题之最小覆盖子串
算法·leetcode
春蕾夏荷_7282977251 小时前
vscode 创建第一个python程序
vscode·python