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;
    }
};
相关推荐
weixin_38128818几秒前
苹果微软双修党福音:Navicat如何跨系统平滑迁移配置
jvm·数据库·python
xcbrand1 分钟前
政府事业机构品牌策划公司找哪家
大数据·人工智能·python
码界筑梦坊6 分钟前
93-基于Python的中药药材数据可视化分析系统
开发语言·python·信息可视化
阿荻在肝了9 分钟前
Agent学习六:LangGraph学习-持久化与记忆一
python·学习·agent
qingyulee9 分钟前
python多进程、线程、协程
python
川石课堂软件测试13 分钟前
软件测试:典型面试题库
数据库·python·功能测试·mysql·单元测试·grafana·prometheus
qq_342295821 小时前
CSS如何制作点击展开时的手风琴动画_平滑过渡max-height高度
jvm·数据库·python
lwf0061641 小时前
Poetry: Python 依赖管理利器
python
智慧地球(AI·Earth)1 小时前
用AI重构Python开发:从API调用到本地部署,代码全流程自动化实战
python·自动化·api