【发布时间】:2018-09-04 02:40:00
【问题描述】:
给定一个介于 0 和 10,0000,0000 之间的整数 n,计算小于 n 且包含数字 [2,0,1,8] 的整数个数] 为了。
例如应该计算数字 9,230,414,587,因为删除数字 [9,3,4,4,5,7] 会留下 [2,0,1,8]。
输入输出示例:
n = 2018 -> count = 1
n = 20182018 -> count = 92237
我的一般想法是:n 的最大长度为 10,最坏的情况是我们必须在 [2,0,1,8] 中插入 6 位数字并删除重复项和大于 n 的数字。
【问题讨论】:
-
对不起,这听起来是一个有趣的问题,但我有点不清楚你到底想让算法做什么。你是如何得到
92237的20182018数字的输出的? -
@Alerra 抱歉解释晚了,
92237是< 20182018(n)的所有号码的号码。比如20182017\20182016\20182014这都是20182018(n) 并找到号码相遇的号码需要。 -
一句话,数一下
< n的数量,满足需求! -
那么,为什么
20182015不起作用但20182016和20182014起作用?很抱歉我仍然对此感到困惑。 -
@Alerra 呃..我只是想念它--,这是一些例子。我更新了关于如何定义
2018数字的描述。算法所做的是计算@987654333 @编号
标签: algorithm integer digits subsequence