题目要求在字符串中提取所有连续数字串对应的整数,并找出其中能被给定正整数整除的最大值。
需要注意以下规则:
给定一个字符串和一个正整数,字符串由大小写字母和数字组成,要求从字符串中找出最大能被给定正整数整除的数。
注:
给定的 inputStr 字符串长度为 1 ~ 10000,给定的 inputDivisor 值的范围为 1 ~ 99;
从 inputStr 中解析的整数不可分割,支持前缀为 0 整数串,数值范围为 0 ~ 999,例如:
(1) "29ab03"、"29ab003"、"29ab0003"、"29ab00003"、"29ab000003"等 3 前面有前缀 0 的数字串,解析出整数为 29 和 3;
(2) "0abc123"、"00abc123"、"000abc123"、"0000abc123"、"00000abc123" 等含一个或多个 0 的数字串,解析出整数为 0 和 123。
如果输入都合法且能找到能被整除的最大数,则输出该最大数; 其他情况输出 −1,例如: (1) 输入数据包含非法字符、值超出范围、长度超出范围等; (2) 没有找到能被 inputDivisor 整除的数。
补充说明
输入
"abc123EFEDG34aadD78er",2
输出
78
说明
34 和 78 都能被 2 整除,78 为能被整除的最大数。
输入
"wrwqr1.0we+de-",3
输出
-1
说明
参数 1 字符串中包含非法字符 .+−
输入
"ewr23hk064ASW12VBG",4
输出
64
说明
获取的整数列表为 23、64、12,能被 4 整除的最大数为 64
输入
"ewr23hk064ASW12VBG",5
输出
-1
说明
获取的整数列表为 23、64、12,都不能被5整除
输入
"wrq45ret0eww237ere",7
输出
0
说明
只有 0 能被 7 整除
输入
"aaa2222bb66",2
输出
-1
说明
第一个参数中存在大于 999 的整数,参数不合法。