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

算法练习Day43|● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

LeetCode:518. 零钱兑换 II 

518. 零钱兑换 II - 力扣(LeetCode)

1.思路

求组合数,先遍历物品再遍历背包,dp[]数组累加即可。

2.代码实现

 1class Solution {2    public int change(int amount, int[] coins) {34        int[] dp = new int[amount + 1];5        dp[0] = 1;67        for (int i = 0; i < coins.length; i++) {8            for (int j = coins[i]; j <= amount; j++) {9                dp[j] += dp[j - coins[i]];
10            }
11        }
12        return dp[amount];
13    }
14}

3.复杂度分析

时间复杂度:O(nm). 空间复杂度:O(nm).

LeetCode:377. 组合总和 Ⅳ  

377. 组合总和 Ⅳ - 力扣(LeetCode)

1.思路

声明初始化dp数组,求排列,先遍历背包后遍历物品。dp[]数组累加操作。

2.代码实现

 1class Solution {2    public int combinationSum4(int[] nums, int target) {3        int[] dp = new int[target + 1];4        dp[0] = 1;56        for (int i = 0; i <= target; i++) {7            for (int j = 0; j < nums.length; j++) {8                if (i >= nums[j]) {9                    dp[i] += dp[i - nums[j]];
10                }
11            }
12        }
13        return dp[target];
14    }
15}

3.复杂度分析

时间复杂度:O(nm). 空间复杂度:O(nm).

http://www.lryc.cn/news/122431.html

相关文章:

  • 人类:我觉得1+1=956446,你觉得呢?大模型:啊对对对
  • Offset Explorer
  • 查看CentOS版本及系统位数与设置CentOS 7.9 2009 防火墙配置放开端口的命令与过程
  • 前端css高级
  • 华为OD真题--字符串中最小的整数和--带答案
  • 9月30日生效:微软官方服务协议更新,防止人工智能进行逆向工程
  • HarmonyOS教育类APP项目实战系列课结课考试答案(1-10讲)80分就合格
  • 为什么要学习Oracle技术?
  • ffmpeg+intel核显实现硬解码
  • 电脑开机出现Boot Device怎么办?
  • 面试题. 一次编辑
  • Unity悬浮显示提示内容
  • 变形金刚在图像识别方面比CNN更好吗?
  • 【Javascript】ES6新增之类的认识
  • C#随机法 双峰函数 求极值 避免落入局部最优解
  • JavaScript高级:常见设计模式
  • 32bit国产低功耗无线MCU芯片
  • scope组件穿透
  • 分类预测 | Python实现LR逻辑回归多输入分类预测
  • 【微信小程序】通过使用 wx.navigateTo方法进行页面跳转,跳转后的页面中通过一些方式回传值给原页面
  • DIP: Spectral Bias of DIP 频谱偏置解释DIP
  • 【考研数学】概率论与梳理统计 | 第一章——随机事件与概率(1)
  • LeetCode 36题:有效的数独
  • word横向页面侧面页码设置及转pdf后横线变竖线的解决方案
  • 华为OD机试 - 字符串划分(Java JS Python)
  • 使用 `nmcli` 在 CentOS 8 上添加永久路由
  • Java基础五之for循环小练习
  • 解决 Python RabbitMQ/Pika 报错:pop from an empty deque
  • 观察者模式实战
  • 035_小驰私房菜_Qualcomm账号注册以及提case流程