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

Day 41 | 动态规划 343. 整数拆分 、 96.不同的二叉搜索树

343. 整数拆分

题目
文章讲解
视频讲解

思路:不需要考虑正整数为1的情况。 dp[i]表示正整数i拆分后结果的最大乘积,递推公式中 j 表示拆分的正整数,最大不会超过 i-j ,否则会轮回。dp[i-j]是正整数 i-j 拆分后结果最大乘积。

class Solution {
    public int integerBreak(int n) {
        int[] dp = new int[n + 1];
        // dp[i]表示正整数i拆分后结果的最大乘积
        dp[2] = 1;
        for (int i = 3; i <= n; i++) {
            for (int j = 1; j <= i - j; j++) {
                dp[i] = Math.max(dp[i], Math.max(j * (i - j), j * dp[i - j]));
            }
        }
        return dp[n];
    }
}

96.不同的二叉搜索树

题目
文章讲解
视频讲解

思路:i 个节点,根节点 j ,左子树节点数 j-1 ,右子树节点数 i-j

class Solution {
    public int numTrees(int n) {
        int[] dp = new int[n+1];
        dp[0] = 1;
        dp[1] = 1;
        for (int i = 2; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                dp[i] += dp[j - 1] * dp[i - j];
            }
        }
        return dp[n];
    }
}

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

相关文章:

  • C++ 中的string类
  • HMI FUXA测试
  • Jav项目实战II基于微信小程序的助农扶贫的设计与实现(开发文档+数据库+源码)
  • Elasticsearch 8.16.0:革新大数据搜索的新利器
  • oneplus3t-Lineage16.1-Android.bp
  • Nginx 上安装 SSL 证书并启用 HTTPS 访问
  • JavaScript基础(28)_获取元素的其他样式
  • 提速MySQL:数据库性能加速策略全解析
  • 前后端分离项目:前端的文件夹应该叫什么名字,后端呢
  • 【网络技术】【Kali Linux】Nmap嗅探(二)多设备扫描
  • springboot167基于springboot的医院后台管理系统的设计与实现
  • HCIA-HarmonyOS设备开发认证V2.0-3.轻量系统内核基础
  • 锁(二)队列同步器AQS
  • 【Spring】Spring 启示录
  • Vue 学习随笔系列九 -- 表格中插入图片、背景、自定义表头
  • Windows安装DeepSpeed
  • 线阵相机系列-- 1. 什么是线阵相机
  • 【leetcode】深搜、暴搜、回溯、剪枝(C++)1
  • 什么是jieba?
  • 快速熟悉 MatrixOne 内核前端
  • 深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率
  • 【人工智能】人工智能 – 引领未来科技的潮流
  • DataX源码分析 TaskGroupContainer
  • maven java 如何打纯源码zip包
  • 【UE】游戏运行流程的简单理解
  • 网络套件字(理论知识)