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;
    }
};
相关推荐
Csvn6 小时前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89186 小时前
Python主流框架全解析
开发语言·python
sg_knight6 小时前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财6 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張4087 小时前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533997 小时前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz7 小时前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据7 小时前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium
Hui Baby7 小时前
springboot读取配置文件
后端·python·flask
阿Y加油吧8 小时前
回溯法经典难题:N 皇后问题 深度解析 + 二分查找入门(搜索插入位置)
开发语言·python