当前位置: 首页 > article >正文

代码随想录:279. 完全平方数

279. 完全平方数

这道题与322比较像只是需要先预处理一下,后续完全背包dp依然采用滚动数组优化

class Solution {
public:
    int numSquares(int n) {
        int a[105];//预处理完全平方数
        memset(a, 1, sizeof(a)); //赋较大的初始值
        for (int i = 1; i <= 100; i++) {
            a[i] = i * i;  //存平方数
        }
        vector<int> dp(n + 5, INT_MAX);
        dp[0] = 0;   //没有就是0
        for (int i = 1; a[i] <= n; i++) {
            //前i个平方数
            for (int j = a[i]; j <= n; j++) {
                //滚动数组优化,取最小值加1
                if (dp[j - a[i]] != INT_MAX)
                    dp[j] = min(dp[j], dp[j - a[i]] + 1);
            }
        }
        return dp[n];//一定能找到
    }
};


http://www.kler.cn/a/295021.html

相关文章:

  • Linux驱动开发(3):字符设备驱动
  • Redis-07 Redis哨兵
  • vue项目使用高德地图
  • 梧桐数据库与mysql及oracle关于交换服务器编号的SQL写法分析
  • 【网络原理】关于HTTP状态码以及请求的构造的哪些事
  • 【C#】C# .NET中的Func、Predicate和Expression详解
  • 如何在Selenium中使用Chrome进行网络限速
  • ComfyUI+Krea免费利用AI制作网站萌宠IP,五步搞定制作AI萌宠
  • React 响应事件
  • 【Godot4.3】多边形的斜线填充效果基础实现
  • 在Ubuntu 20.04上安装Nginx的方法
  • 懒人笔记-opencv4.8.0篇
  • 【详解 Java 注解】
  • 一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)
  • 分数阶微积分MATLAB计算
  • 将你的github仓库设置为web代理
  • Java零基础-如何在分布式系统中进行日志管理?
  • 【鸿蒙】HarmonyOS NEXT星河入门到实战1-开发环境准备
  • Vulnhub:Dr4g0n b4ll 1
  • Qt/C++开源项目 TCP客户端调试助手(源码分享+发布链接下载)
  • <class ‘pyspark.sql.dataframe.DataFrame‘>
  • Eureka原理与实践:构建高可用微服务架构的基石
  • MCU5.51单片机的最小系统
  • IDEA git提交时如何忽略某个文件或文件夹
  • 任务执行拓扑排序(华为od机考题)
  • Elasticsearch - SpringBoot 索引与文档相关demo