按照下面的格式给定一个仅包括加法符 +、减法符 – 和乘法符 * 的数学公式字符串:
[数字] [操作符] [数字] = [数字]
算式中包括若干个问号?都代表同样的单个数字(0-9),而且该数字和算式中其他数字不重复。如果问号位于一个数字的首位,该问号不能为0。请找出符合要求的最小数字。譬如:“?*11=??”,该问号是 2, 数字1已经存在,所以数字2是符合要求的最小值:2 * 11 = 22。
输入样例:
“??*??=435?”
输出样例:
6
66 * 66 = 4356,所以问号代表的数字是 6。
算法思路:
- 要点:比较字符串算式是否成立,可以使用函数 eval
- 方法一:使用正则表达式来进行字符串匹配。先排除0-9中已经存在的数字,然后从小到大逐一循环来比较算式是否成立。
- 方法二:使用字符串函数 replace 来做匹配,步骤同方法一。