例如 有一数组 [ 17-20, 23-36, 39-52 ] 其中符号“-”代表范围,
现在任意给出2个数字,比如30与32(这2个数必须在17到52之间),则结果是把23-36这个值输出出来
请教高手
再举个例子,还是上面这组数
输入40与43,则返回 39-52
输入29与50,则返回 23-36 和 39-52
注: (输入是人为控制的,虽然上面的数是17到52,但是用逗号隔开的部分是空的,也就是以上数组中不存在20到23、36到39之间的数字)
------解决方案--------------------------------------------------------
如果不追求高效率的话,循环遍历一下不就全出来了?
- Java code
String[] ranges = {"17-20","23-36","39-52"};int seek = 30;for (String str : ranges) { String[] range = str.split("-"); if (seek >= Integer.parse(range[0]) && seek <= Integer.parse(range[1])) { System.out.println(seek + ":" + str); }}