一道字符串填充算法题

偶然在idailylife的博客上看到Indeed Tokyo 笔试题一道,觉得很有趣,就思考了下这题,这里记录一下。

问题描述

输入字符串str=a[0] a[1] ... a[N],其中0<N<=10^5。字符串的每一位是0-9?,需要用0-9填充各个问号的值,使得整个字符串成为一个数(允许前导0),并且满足任意连续10位上的字符(或理解成数字)a[i] a[i+1] ... a[i+9]不重复,输出解的个数。

例如,输入"04??2?7",输出应当为120.