leetcode279完全平方数

给你一个整数 n ,返回 和为 n 的完全平方数的最少数量

完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,14916 都是完全平方数,而 311 不是。

示例 1:

复制代码
输入:n = 12
输出:3 
解释:12 = 4 + 4 + 4

示例 2:

复制代码
输入:n = 13
输出:2
解释:13 = 4 + 9
cpp 复制代码
#include<iostream>
#include <vector>
using namespace std;
int numSquares(int n) {
    vector<int> f(n + 1);
    for (int i = 1; i <= n; i++) {
        int minnum= INT_MAX;
        for (int j = 1; j * j <= i; j++) {
            minnum = min(minnum, f[i - j * j]);
        }
        f[i] = minnum + 1;
    }
    return f[n];
}
int main() {
	int n;
    while(1){
        cin >> n;
        cout << numSquares(n) << endl;
    }
	
}

假设输入n,那么输出就应该是numSquare(n)

numSquare(n)=min(numSquare(n-1)+1,num(Square(n-4)+1,num(Square(n-9)+1......num(Square(n-i*i)+1),其中i*i<n

相关推荐
程序喵大人5 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器
开发语言·c++·算法
hanlin035 小时前
动态规划专练:力扣第121、122题
笔记·算法·leetcode
To_OC5 小时前
LC 74 搜索二维矩阵:换皮的二分查找,我居然一开始没看出来
javascript·算法·leetcode
文心快码BaiduComate5 小时前
文心快码荣获“中国优秀软件产品”,实力再获国家级认可
算法·代码规范
玖玥拾5 小时前
LeetCode 189 轮转数组
算法·leetcode
ZhangShao06075 小时前
题解:CF2249B
c++·算法
小玮看世界5 小时前
[Python]线段树与二分法
数据结构·算法
吹什么轩7 小时前
c++复习:map和set的使用
开发语言·c++
fpcc7 小时前
跟我学C++中级篇—内存流
开发语言·c++
Tisfy8 小时前
LeetCode 3345.最小可整除数位乘积 I:暴力枚举(从n开始尝试)
数学·算法·leetcode·题解·枚举