在神奇的数学岛上,岛民们使用一种独特的符号系统来进行日常计算。在这个世界中,仅存在小写字母 a ~ z ,以及数字字符 1,2,3,4 ,但是它们所代表的含义与现实世界有所不同。
小写字母依次对应数字 0 ~ 25 ,例如:小写字母 a 代表数字 0 ,小写字母 x 代表数字 23 。
数字字符 1,2,3,4 分别对应着运算符 +、−、×、÷ ,其中,数字字符 4 所对应的除法运算指的是向下取整除法,即在数学岛上没有小数的概念。
现在,以字符串形式给出一个合法的表达式,所谓合法的表达式,指这个字符串中一定包含且仅包含一个数字字符(必定是 1,2,3,4 中的一个),同时,在数字字符的两侧,各包含至少一个、至多四个小写字母。例如:
表达式 c3d 表示计算 2×3 ,结果为 6 ;
表达式 kj4k 表示计算 109÷10 ,因为除法对应下取整,所以结果为 10 ;
需要注意,运算符左侧的字母部分按照字母从左到右的顺序,依次转换成对应的数字,再拼接成一个整体,同理,右侧的字母也进行相同的转换。如果最终的计算结果为负数,请返回其绝对值,因为数学岛上不存在负数;如果在除法中遇到除数为 0 的情况,请返回 −1 以表示表达式有误(该值仅用于表示错误,除此之外不能返回其他负数值)。
函数的第一个参数输入一个字符串 formula 代表公式。保证公式合法,即其一定包含应该运算符(1,2,3,4)以及运算符左右的字母部分、字母部分的长度满足 1≤len≤4 。字母部分转化得到的数字可能包含前导零,但是当你以实现世界的格式输出答案时,不应该不含前导零。
注:该题为核心模式,不需要自己处理输入输出,代码中的类名、方法名、参数名已经指定,请勿修改,直接书写函数返回方法规定的值即可。
输入
"a1aaz"
输出
25
说明
0+25=25 。
输入
"z4aaaa"
输出
-1
说明
除数为 0 ,返回 −1 代表公式有误。
输入
"j2k"
输出
1
说明
9−10=−1 ,但是需要取其绝对值,所以答案为 1 。