java - 将 N 表示为 1、3 之和的不同方式的计数

标签 java algorithm dynamic-programming

解决这个问题的逻辑方法是什么? 我在这里找到了解决方案:solution代码看起来很简单,但我在逻辑上理解起来有些困难。

从同一个博客我无法理解这一行,

So the number that ends with 1 is equal to DP[n-1].

有没有更简单的方法可以解释这个解决方案?

最佳答案

假设您要将 10 表示为 1 和 3 的和。那么您可以将 10 表示为 9+17+3。则10的不同表达方式数等于9和7的不同表达方式数之和。

dp[10]=dp[9]+dp[7]

关于java - 将 N 表示为 1、3 之和的不同方式的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57892887/

相关文章:

algorithm - 正则表达式匹配支持 '.' 和 '*'

algorithm - 如何从建筑物中扔出 2 个鸡蛋并用 ~c*sqrt(F) throws 找到 F 层?

java - BigDecimal 除法四舍五入

java - 如何从java捕获错误并打印c程序触发器的流

algorithm - 如果用户改变他的键盘或他的心情在击键动态中改变,我需要一个解决方案?

java - 将整数数组转换为二叉树

algorithm - 有多少组 4 个数的异或等于 0?

algorithm - 动态规划和 0/1 背包

java - 如何在 Spring Boot MVC Web 应用程序中从 META/MANIFEST.MF 读取数据?

java - "%d:%02d"中的 `printf` 是什么意思?