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

【力扣hot100题】(083)完全平方数

想了一会,其实动态规划题只需要往状态转换方程想就好了。

最开始的想法是构建词典记录一直到n的平方数,然后用数组记录从1到n的完全平方数的最小数,每次变量一遍词典,比如n为9就分别遍历比较第9-3*3个数的完全平方数的最小数,第9-2*2个数的完全平方数的最小数,第9-1*1个数的完全平方数的最小数……每次取最小的那个加一。

优化掉字典就是这样:

class Solution {
public:
    int numSquares(int n) {
        int pre[10001];
        pre[0]=0;
        pre[1]=1;
        for(int i=2;i<=n;i++){
            pre[i]=i;
            for(int j=0;j*j<=i;j++) pre[i]=min(pre[i-j*j]+1,pre[i]);
        }
        return pre[n];
    }
};

相关文章:

  • 系统性能信息模块-psutil
  • Java中LocalDateTime类
  • freertos低功耗模式简要概述
  • 【愚公系列】《高效使用DeepSeek》065-全球物流预警
  • flutter 获取通话记录和通讯录
  • Webstorm 常用插件及便携设置
  • C语言 内存管理
  • .NET MAUI教程2-利用.NET CommunityToolkit.Maui框架弹Toast
  • Array.every() 和 Array.some()用于数组条件判断的方法,它们的核心区别在于判断逻辑和短路行为
  • LeetCode算法题(Go语言实现)_39
  • 【LaTeX】安装
  • leetcode-419.棋盘上的战舰
  • 报错:mount: unknown filesystem type ‘vfat’
  • 全国产压力传感器常见的故障有哪些?
  • 全网通4G北斗GPS双模定位系统 车载定位终端
  • vector与deque应用
  • 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组真题
  • 免费AI编程插件Fitten Code + IntelliJ IDEA实现AI辅助编程实战指南
  • 自学Matlab-Simscape(初级)- 2.1 Simscape Multibody 模块之关节(运动副)
  • Java 设计模式:适配器模式详解
  • 石家庄商城网站搭建多少钱/站长数据
  • 上虞市建设风机厂网站/seo优化排名
  • 如何做网课网站/2345网址导航是什么浏览器
  • 武汉seo网站优化/企业策划推广公司
  • 怎么在自己网站上做拼图/什么是电商平台推广
  • 手机网站开发一个多少钱/热门关键词查询