一维动态规划总结

2023-10-26

题目列表

给一个N(输入),求某种情况的最大值或者最小值情况,
279. Perfect Squares

思路

最差情况下,总体是定义一个dp[N+1], 或者初始化前面dp[0]或者dp[1],

#279. Perfect Squares

解析

Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, …) which sum to n.

Example 1:

Input: n = 12
Output: 3
Explanation: 12 = 4 + 4 + 4.
Example 2:

Input: n = 13
Output: 2
Explanation: 13 = 4 + 9.

将一个数据进行拆分,因子为 1,2,3,4,的平方

解法

如果一个数x可以表示为一个任意数a加上一个平方数bxb,也就是x=a+bxb,那么能组成这个数x最少的平方数个数,就是能组成a最少的平方数个数加上1(因为b*b已经是平方数了)。

二维动态规划 Leetcode 120三角形路径和最短的情况

本来是要一个二维动态规划数组,只不过在这里面我们简化了形式,转化成为一位动态规划的情况

从底层开始,理解状态转移方程

每个当前节点是肯定要处理的情况,
左右两边的元素情况,

  • i= row-1, dp[i][j] = triangle[i][j];
  • i!=row-1, dp[i][j] = trianlge[i][j] + dp[i+1][j] +dp[i+1][j+1];

// 采用

 public int minimumTotal(List<List<Integer>> triangle) {
        //  如何从小到上面求解最小值的情况
        if(triangle==null || triangle.size()==0)
            return 0;
        int len = triangle.size();
        int colo = triangle.get(len-1).size();
        int[][]dp =new int[len][colo];
        for(int i = len-1;i>=0;i--){
            for(int j=0;j<=i;j++)
            {
                //初始化第一行的情况,
                if(i==len-1)
                    dp[i][j]=triangle.get(i).get(j);
                else
                    dp[i][j] =Math.min(dp[i+1][j],dp[i+1][j+1]) + triangle.get(i).get(j);
            }
        }
        return dp[0][0];
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一维动态规划总结 的相关文章

随机推荐

  • 背包问题

    一 01背包 题目 有一个容量为T的背包 现有n个物品 每个物品有都有一个体积w i 和自身价值v i 现在要求求出背包能够装的物品的价值最大 每个物品只可以装一次 基本思路 01背包是背包中的最基础的问题 后面很多背包问题都是01背包和完
  • [会议分享]2022年欧洲计算机科学与信息技术会议(ECCSIT 2022)

    2022年欧洲计算机科学与信息技术会议 ECCSIT 2022 重要信息 会议网址 www eccsit org 会议时间 2022年11月25 27日 召开地点 南京 截稿时间 2022年10月20日 录用通知 投稿后2周内 收录检索 E
  • 【DevOps核心理念基础】3. 敏捷开发最佳实践

    一 敏捷开发最佳实践 1 1 项目管理 1 2 需求管理 1 3 技术架构 1 4 技术开发 1 5 测试 二 敏捷开发最佳实践 2 1 敏捷开发的执行细节 三 全面的DevOps工具链 四 版本控制和协作开发工具 4 1 集中式版本控制工
  • SX1281驱动学习笔记一:Lora驱动移植

    目录 一 资料下载 1 中文手册下载地址 2 英文手册下载地址 3 固件下载地址 4 SX1281的速率计算器下载地址 5 SX128X区别 二 驱动讲解 1 radio h文件 2 sx1281 c文件 3 sx1281 hal c文件
  • unity在同屏幕显示多Camera并在脚本中修改Viewport Rece

    参考 https www it610 com article 1305219586412548096 htm 参考 https www zhihu com question 41879088 sort created 修改Camera的Vi
  • 开放平台认证方案

    背景 本次的直接起因是第三方那边接入系统后端引起的 第三方方觉得认证要过期比较麻烦 而且要用账号密码去调登录接口去刷token 设计不合理 客观来说 凭本人使用过其它开放平台来说确实有些不一样 常见的一些开放平台 有带web的 一般web能
  • 感知机及算法实现

    1 感知机二类分类的线性分类模型 输入为实例的特征向量 输出为实例的类别 取 1和 1二值 感知机对应于输入空间中将实例划分为正负两类的分离超平面 属于判别模型 感知机学习旨在求出将训练数据进行线性划分的分离超平面 为此导入基于误分类的损失
  • error: use of deleted function

    本文案例仅供参考 出错的代码如下 TEST Test test1 TestImpl impl TestImpl para1 para2 ASSERT EQ jkj impl func 22 33 44 实际应该这样 TEST Test te
  • PyCharm下载包出错

    PyCharm安装成功之后添加所需的包 File gt Settings gt Project 此处是你的Python工作环境 gt Project Interpreter 红色剪头所指 添加需要的包 点开时候出现错误信息 Error lo
  • phpstorm运行php出现502 Bad Gateway

    个人博客开通啦 功能正在逐步完善中 大家可以访问http www codeliu com 记一次心碎的经历 我用的phpstorm10 0 1 XAMPP 今天写完一个php文件后 运行出现502 Bad Gateway的错误 明明上一刻还
  • c语言中的常见数据类型

    一 常见的数据类型包括基本类型 枚举类型 空类型和派生类型 基本类型又包括整型类型 浮点类型 整型类型 基本类型 int 短整型 short int 长整型 long int 双长整型 long long int 字符型 char 布尔型
  • 判断一个字符是否是十六进制

    判断一个字符是否是十六进制 十六进制 hexadecimal 是计算机中数据的一种表示方法 意思是逢十六进一 十六进制数以16为基数 采用的数码是0 1 2 3 4 5 6 7 8 9 A B C D E F 其中A F分别表示十进制数字1
  • JAVA中的异常处理

    一 什么是异常 异常是指在程序执行过程中出现的错误或异常情况 它可能是由于错误的输入 无效的操作 资源不可用等原因引起的 当程序遇到异常时 它会中断当前的执行路径 并转到能够处理该异常的代码块 在 Java 中 异常是以对象的形式表示的 它
  • PID串行多闭环控制与并行多闭环控制的优缺点分析和应用比较

    导言 在自动控制领域 PID控制器是一种经典的控制策略 被广泛应用于各种工业和非工业过程 随着控制系统的复杂性增加 PID串行多闭环控制和PID并行多闭环控制成为解决复杂控制问题的重要方法 本文将从优点和缺点的角度对这两种控制策略进行对比
  • Android基础之Fragment

    目录 前言 一 Fragment简介 二 Fragment的基础使用 1 创建Fragment 2 在Activity中加入Fragment 1 在Activity的layout xml布局文件中静态添加 2 在Activity的 java
  • 数学建模--粒子群算法(PSO)的Python实现

    目录 1 开篇提示 2 算法流程简介 3 算法核心代码 4 算法效果展示 1 开篇提示 开篇提示 这篇文章是一篇学习文章 思路和参考来自 https blog csdn net weixin 42051846 article details
  • 宝峰对讲机16频率表_宝峰888S对讲机的16个信道频率是多少?

    1 宝峰888S对讲机 16个工作频率范围为 400 470MHZ 16个信道 频率范围内 任意频道任意频率 内 2 一般对讲机没容有固定频点 出厂都是空频机器 每个信道的频率都可以写成机器频率范围内的任意频点也可以空白什么都不写 3 根据
  • 矩阵求逆四种方法

    注 用A B表示某矩阵 E表示单位矩阵 用A 表示A逆 用 A 表示A的行列式 A E 表示拼接矩阵 一 公式法 先求A行列式结果 再求A伴随矩阵 最后再求A逆矩阵 A 0 则 A A A 注 图片中detA就是 A 二 初等变换法 A E
  • 【沧海拾昧】Proteus8仿真stm32:ADC转换程序

    C0102 沧海茫茫千钟粟 且拾吾昧一微尘 沧海拾昧集 CuPhoenix 阅前敬告 沧海拾昧集仅做个人学习笔记之用 所述内容不专业不严谨不成体系 如有问题必是本集记录有谬 切勿深究 目录 一 原理图绘制 二 多位七段数码管 三 ADC引脚
  • 一维动态规划总结

    题目列表 给一个N 输入 求某种情况的最大值或者最小值情况 279 Perfect Squares 思路 最差情况下 总体是定义一个dp N 1 或者初始化前面dp 0 或者dp 1 279 Perfect Squares 解析 Given