day40打卡

day40打卡

343. 整数拆分

状态表示

​ dp[i] 表示将正整数i拆分成至少两个正整数的和之后,这些正整数的最大乘积

状态转移方程

i >= 2 时,对正整数i拆出的第一个正整数是j,则有:

  • 将i拆分为 j 和 i-j,且 i-j不再拆分为多个正整数,此时的积为i * (i-j)
  • 将i拆分为 j 和 i-j的和,且 i-j再拆分为多个正整数,此时的积为i * dp[i-j]

初始化

​ 0 不是正整数,1是最小的正整数,0和1都不能拆分,因此 dp[0] = dp[1] = 0,dp[2] = 1

填表顺序

​ 从左到右

返回值

​ dp[n]

class Solution {
public:
    int integerBreak(int n) {
        //创建dp数组
        vector<int> dp(n+1);
        //初始化
        dp[2] = 1;
        //填表
        for(int i = 3; i <= n; i++)
        {
            for(int j = 1; j < i; j++)
            {
                dp[i] = max(dp[i], max(j * (i - j), j * dp[i-j]));
            }
        }
        //返回值
        return dp[n];
    }
};

96. 不同的二叉搜索树

状态表示

​ 1到i为节点组成的二叉搜索树的个数为dp[i]

状态转移方程

image-20240223231924349

image-20240223232024273

dp[i] += dp[以j为头结点左子树节点数量] * dp[以j为头结点右子树节点数量]

初始化

dp[0] = 1

填表顺序

​ 从左到右

返回值

​ dp[n]

class Solution {
public:
    int numTrees(int n) {
        //创建dp数组
        vector<int> dp(n+1);
        //初始化
        dp[0] = 1;
        //填表
        for(int i = 1; i <= n; i++)
        {
            for(int j = 1; j <= i; j++)
            {
                dp[i] += dp[j-1] * dp[i-j];
            }
        }
        //返回值
        return dp[n];
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/405456.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初探Web客户端追踪技术

前言 案例1 当我们首次浏览网站时&#xff0c;在网页的下方位置经常会出现提示&#xff0c;询问是否允许使用 Cookie 来提供服务和流量。为了不被挡住浏览的内容&#xff0c;我们经常会下意识地点击“接受”&#xff0c;然后继续浏览。看似无害而有害增强你在这个网站上的体验…

MATLAB | 超多样式聚类分析树状图任你选择~~

这几天写了一个代码很长的聚类分析树状图绘图工具函数&#xff08;上一期文章立的flag总算实现了&#xff09;&#xff0c;能够比较轻松的绘制以下图形&#xff1a; 工具基本已经成型了&#xff0c;未来有需求未来有空再加哈哈哈&#xff0c;要求MATLAB至少需要17b版本&#xf…

微服务篇之分布式事务

一、Seata架构 Seata事务管理中有三个重要的角色&#xff1a; TC (Transaction Coordinator) - 事务协调者&#xff1a;维护全局和分支事务的状态&#xff0c;协调全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器&#xff1a;定义全局事务的范围、开始全局事务、…

Leetcode日记 2583. 二叉树中的第 K 大层和

Leetcode日记 2583. 二叉树中的第 K 大层和 题目&#xff1a;解题思路&#xff1a;代码实现制作不易&#xff0c;感谢三连&#xff0c;谢谢啦 题目&#xff1a; 给你一棵二叉树的根节点 root 和一个正整数 k 。 树中的 层和 是指 同一层 上节点值的总和。 返回树中第 k 大的层和…

欢迎 Gemma: Google 最新推出开源大语言模型

今天&#xff0c;Google 发布了一系列最新的开放式大型语言模型 —— Gemma&#xff01;Google 正在加强其对开源人工智能的支持&#xff0c;我们也非常有幸能够帮助全力支持这次发布&#xff0c;并与 Hugging Face 生态完美集成。 Gemma 提供两种规模的模型&#xff1a;7B 参数…

idea配置javafx

一、下载sdk 在jdk8之后&#xff0c;需要下载sdk包 &#x1f4ce;javafx-sdk-18.zip 这里适用的jkd版本如图 二、配置 创建一个项目之后&#xff0c;进行如下配置&#xff0c;将sdk导入到项目中 配置启动参数 可以使用-号将之前的去掉&#xff0c;创建一个新的 打开下面的V…

MyBatisPlus条件构造器和常用接口

前置配置文章 一、wapper介绍 wrapper的继承体系&#xff1a; Wrapper &#xff1a; 条件构造抽象类&#xff0c;最顶端父类 AbstractWrapper &#xff1a; 用于查询条件封装&#xff0c;生成 sql 的 where 条件 QueryWrapper &#xff1a; 查询条件封装UpdateWrapper &#x…

windows 11+docker desktop+grafana+influxDB

下载安装docker desktop 出现WSL相关的错误。WSL是一个linux内核的子系统&#xff0c;docker是基于linux内核的&#xff0c;所以运行docker需要WSL。 以管理员权限打开powershell&#xff0c;查看WSL状态 wsl --status 我遇到的错误是因为我关闭了windows的某些更新 执行上…

2023全新UI千月影视APP源码 | 前后端完美匹配、后端基于ThinkPHP框架

应用介绍 本文来自&#xff1a;2023全新UI千月影视APP源码 | 前后端完美匹配、后端基于ThinkPHP框架 - 源码1688 简介&#xff1a; 2023全新UI千月影视APP源码 | 前后端完美匹配、后端基于thinkphp框架 图片&#xff1a;

每日一题——LeetCode1502.判断是否能形成等差数列

方法一 排序 var canMakeArithmeticProgression function(arr) {arr.sort((a,b)>a-b)let diff arr[1]-arr[0]for(let i1;i<arr.length;i){if(arr[i]-arr[i-1]diff) continueelse return false}return true }; 消耗时间和内存情况&#xff1a; 方法二 数学方法 找出ar…

SpringBoot实现缓存预热方案

缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。 那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系统呢? 实现方案概述 在 Spring Boot 启动之后,可以通过以下手段实现缓存预热: 使用…

开源的表单设计器拥有什么显著特点?

开源的表单设计器的特点是什么&#xff1f;广州流辰信息是专业研发低代码技术平台的服务商&#xff0c;可以为企业提供系统开发、数据治理、数据分析各环节技术和方案支撑。为了帮助大家了解开源的表单设计器的相关优势特点&#xff0c;小编将为大家做一个详细介绍。 什么是开源…

陪玩软件系统的开发-用PHP书写,uni开发的陪玩平台更有质量-线上线下功能齐全-APP小程序H5公众号都有,源码交付!

线上陪玩系统的功能 在线预订&#xff1a;用户可以在陪玩系统中在线预订陪玩服务&#xff0c;系统会根据用户的订单要求自动匹配陪玩人员。 指定搜索&#xff1a;用户可以通过搜索指定的ID来找到他们想要的陪玩人员。 在线交流&#xff1a;在陪玩系统中提供在线沟通功能&…

Jmeter之单接口的性能测试

前言&#xff1a; 服务端的整体性能测试是一个非常复杂的概念&#xff0c;包含生成虚拟用户&#xff0c;模拟并发&#xff0c;分析性能结果等各种技术&#xff0c;期间可能还要解决设计场景、缓存影响、第三方接口mock、IP限制等问题。如何用有限的测试机器&#xff0c;在测试环…

Python 实现 ATR 指标计算(真实波幅):股票技术分析的利器系列(10)

Python 实现 ATR 指标计算&#xff08;真实波幅&#xff09;&#xff1a;股票技术分析的利器系列&#xff08;10&#xff09; 介绍算法解释 代码rolling函数介绍核心代码 完整代码 介绍 ATR&#xff08;真实波幅&#xff09;是一种技术指标&#xff0c;用于衡量市场波动性的程…

视频评论挖掘软件|抖音视频下载工具

针对抖音视频下载的需求&#xff0c;我们开发了一款功能强大的工具&#xff0c;旨在解决用户在获取抖音视频时需要逐个复制链接、下载的繁琐问题。我们希望用户能够通过简单的关键词搜索&#xff0c;实现自动批量抓取视频&#xff0c;并根据需要进行选择性批量下载。因此&#…

备战蓝桥杯—— 双指针技巧巧答链表1

对于单链表相关的问题&#xff0c;双指针技巧是一种非常广泛且有效的解决方法。以下是一些常见问题以及使用双指针技巧解决&#xff1a; 合并两个有序链表&#xff1a; 使用两个指针分别指向两个链表的头部&#xff0c;逐一比较节点的值&#xff0c;将较小的节点链接到结果链表…

算法沉淀——FloodFill 算法(leetcode真题剖析)

算法沉淀——FloodFill 算法 01.图像渲染02.岛屿数量03.岛屿的最大面积04.被围绕的区域05.太平洋大西洋水流问题06.扫雷游戏07.衣橱整理 Flood Fill&#xff08;泛洪填充&#xff09;算法是一种图像处理的基本算法&#xff0c;用于填充连通区域。该算法通常从一个种子点开始&am…

力扣经典题目解析--下一个排列(字节面试题)

这是一道中等难度的字节秋招面试题&#xff0c;很多伙伴都被问到了&#xff0c;同时也有很多同学表示连题目都看不懂&#xff0c;我们来看下原题 原题 题目地址: . - 力扣&#xff08;LeetCode&#xff09; 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例…