力扣---完全平方数

思路:

还是比较好想的,gi定义为和为 i 的完全平方数的最少数量。那么递推关系式是gi=min(gi-1,gi-4,gi-9,...)+1,数组初始化是g0=0,g1=1。注意这里要对g0初始化,(举个例子)因为在遍历到g4时,g4=min(g4-1,g4-4)+1。

代码:

C++:

cpp 复制代码
class Solution {
public:
    int numSquares(int n) {
        vector<int> g(n+1,0x3f3f3f3f);
        g[0]=0,g[1]=1;
        for(int i=2;i<=n;i++){
            for(int j=1;i-j*j>=0;j++){
                int temp=j*j;
                g[i]=min(g[i],g[i-temp]+1);
            }
        }
        return g[n];
    }
};

Python:

python 复制代码
class Solution:
    def numSquares(self, n: int) -> int:
        g=[0x3f3f3f3f]*(n+1)
        g[0]=0
        g[1]=1
        for i in range(2,n+1):
            j=1
            while i-j*j>=0:
                temp=j*j
                g[i]=min(g[i],g[i-temp]+1)
                j+=1
        return g[n]
相关推荐
Interview Aid1124 分钟前
Capital One Interview 完整指南:招聘流程、OA 真题与技术面试准备
面试·职场和发展
波力海苔夹心脆6755 分钟前
VisionPro 与 VisionMaster 对比(上):软件定位、开发环境与核心视觉工具对照
图像处理·算法·计算机视觉·c#·视觉检测·个人开发·vp9
动词ing8 分钟前
【题目练习】盛最多水的容器
算法·目标检测
海绵宝宝转agent9 分钟前
2026-10-14算法+面经总结
java·笔记·算法·缓存
虚无的纽扣9 分钟前
【力扣刷题】第四天:三数之和、四数之和
算法·leetcode·职场和发展
ZiLing18 分钟前
2026 ROS 2 Lyrical 工程实例(一):从零搭建 AMR 激光 SLAM——Gazebo、slam_toolbox 与 Nav2 全链路跑通
算法
巴糖18 分钟前
为什么你的大模型总在胡说八道?—— top_k /top_p/temperature 调参实战手册
算法
严谨的麻辣烫18 分钟前
为什么 API 接口偶尔报错,重试一次又恢复了?从 HTTP 连接池到 Keep-Alive 排查
python·网络协议·tcp/ip·http·性能优化
学Linux的语莫22 分钟前
uv的使用
python·uv
rou24 分钟前
LeetCode410.分割数组的最大值
算法