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;
    }
};
相关推荐
曲幽2 分钟前
别再数据线了!用FastAPI 5分钟搭个局域网文件+剪贴板神器
python·fastapi·web·async·clipboard·fileupload
AbsoluteLogic5 分钟前
Python——必学内置模块 OS
python
sqyno1sky9 分钟前
游戏与图形界面(GUI)
jvm·数据库·python
用户83562907805114 分钟前
Python 实现 Word 文档图片插入与排版技巧
后端·python
2501_9454235423 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
m0_6214385224 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
2301_8042154132 分钟前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
大鹏说大话39 分钟前
Java 并发基石:CAS 原理深度解析与 ABA 问题终极解决方案
开发语言·python
2301_7938046939 分钟前
Python单元测试(unittest)实战指南
jvm·数据库·python
甜辣uu40 分钟前
城市车辆和行人目标检测系统
python