【发布时间】:2021-01-23 15:38:36
【问题描述】:
以下是我的问题陈述:
你得到以 10 为底的数字,你必须通过选择两个连续的数字并删除它们来完全删除它。但是这2位数字之和不应该是17。我们把重复上述操作完全删除的数字称为“好”。
例子:
-
9889=> 删除88得到99 -
99=> 删除99以完全删除号码。 结论:9889好。 注意:我们无法删除98或89,因为这 2 位数字的总和是17。
给定一个数字 N(偶数),您想找到 good N 位数字以 10^9 + 7 为模的数字。将包含前导零的 N 位数字也包括在计数中。
测试用例:
案例一:
Input: 2
Output: 98
案例 2:
Input: 4
Output: 9926
案例 3:
Input: 442
Output: 417551213
我尝试使用各种代码解决此问题,但无法得到结果。
【问题讨论】:
-
首先我们从 9889 中去掉 88,所以数字变成了 99。现在 99 是连续的数字。
-
请分享您的尝试。
-
@kriegaex- 这不是作业或任何项目。我也不是学生。当我理解动态编程时,这是我试图解决的问题之一。我无法找出任何解决方案来通过测试用例。我尝试了各种方法,但最多只能通过第一个测试用例。我并不是要我提供完整的解决方案,只是对哪些概念或如何处理它有很大帮助。
-
这是来自 Codewars (codewars.com) 的 kata 还是来自 Project Euler (projecteuler.net) 或类似的问题?如果有,能否提供来源链接?
-
@concision 您可能对我的工作代码回答感兴趣。
标签: java algorithm dynamic-programming