【动态规划专栏】动态规划:似包非包---不同的二叉树

简介: 【动态规划专栏】动态规划:似包非包---不同的二叉树


题目来源

本题来源为:

Leetcode377. 组合总和 Ⅳ

题目描述

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。

题目数据保证答案符合 32 位整数范围。

算法原理

1.状态表示

根据问题分析,分析出重复子问题

经验+题目要求

对于本题而言就是:

dp[i]表示:凑成总和为i,一共有多少种排列数

2.状态转移方程

因此状态方程为:

dp[i]+=dp[i-x];

3.初始化

dp[0]=1

4.填表顺序

从左往右

5.返回值

返回dp[target]

代码实现

动态规划的代码基本就是固定的四步:

1.创建dp表
2.初始化
3.填表
4.返回值

本题完整代码实现:

class Solution 
{
public:
    int combinationSum4(vector<int>& nums, int target) 
    {
        vector<double> dp(target+1);
        dp[0]=1;
        for(int i=1;i<=target;i++)
        {
            for(auto x:nums)
                if(i>=x)
                    dp[i]+=dp[i-x];
        }
        return dp[target];
    }
};
相关文章
|
JavaScript 算法 前端开发
02avalon - avalon入门案例
02avalon - avalon入门案例
80 0
|
11月前
|
存储 Kubernetes 数据安全/隐私保护
在K8S中,如何下载harbor的私有项目镜像?
在K8S中,如何下载harbor的私有项目镜像?
|
11月前
|
缓存 JavaScript UED
使用 v-once 和 v-memo 进行 Vue 渲染优化
使用 v-once 和 v-memo 进行 Vue 渲染优化
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
422 1
|
Kubernetes 网络协议 jenkins
SpringCloud微服务实战——搭建企业级开发框架(三十五):SpringCloud + Docker + k8s实现微服务集群打包部署-集群环境部署【上】
一、集群环境规划配置 生产环境不要使用一主多从,要使用多主多从。这里使用三台主机进行测试一台Master(172.16.20.111),两台Node(172.16.20.112和172.16.20.113) 1、设置主机名 CentOS7安装完成之后,设置固定ip,三台主机做相同设置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #在最下面ONBOOT改为yes,新增固定地址IPADDR,172.16.20.111,172.16.20.112,172.16.20.113 ONBOOT=yes IPADDR=172.16.20.111
1025 0
SpringCloud微服务实战——搭建企业级开发框架(三十五):SpringCloud + Docker + k8s实现微服务集群打包部署-集群环境部署【上】
|
Java Android开发
JobService源码探究之 onStartJob()里执行耗时逻辑导致Job可能被强制销毁
JobService源码探究之 onStartJob()里执行耗时逻辑导致Job可能被强制销毁
|
前端开发 API 数据库
【平台开发】— 6.从[登录]看前后端交互
【平台开发】— 6.从[登录]看前后端交互
【平台开发】— 6.从[登录]看前后端交互
|
NoSQL 关系型数据库 MySQL
springboot +redis 实现点赞、浏览、收藏、评论等数量的增减操作
springboot +redis 实现点赞、浏览、收藏、评论等数量的增减操作
1775 0
|
监控 关系型数据库 数据库
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等