我正在写一个函数,它必须在数字范围内找到给定数字的位置,范围是代码内的一个变量,现在可以说范围是4
,因此范围看起来像以下内容: [ 0-3 ] [ 4-7 ] [ 8-11 ] [ 12-15 ] [ 16-19 ] [ 20-23 ] [ 24-27 ]
我想实现的是以最快的方式找到给定数字所属的范围,因为此操作的执行超过了百万个事件。 所以我至今写,并能正常工作,如下:
public String findRange(int range,int number2bFound) { int base = 0; if (number2bFound == 0) number2bFound = 1.0; int higher = 0; while (base <= number2bFound) { higher = base + (range - 1); if ((base <= number2bFound) && (higher >= number2bFound)) return base + "-" + higher; base += range; } return null; }
所以,正如我所说的这个工程,但我相信这是可以做到更有效地实现,仅使用number2bFonud
值和range
,并排除非常昂贵的循环。查找范围内的数字位置
1
A
回答
1
如果所有的范围具有相同的大小并且从0开始,则可以进行简单的划分,此外,您还可以通过模运算找到子范围中的位置。
该过程很简单,找到您的号码n
的整数除以你的范围大小,并会给你在哪个子范围它属于,找到子范围内的位置再次找到你的号码的模数针对范围大小
这里是一个例子蟒
def find_position(n,size):
return (n//size, n%size)
与范围大小4
>>> test=[ [0,1,2,3], [4,5,6,7], [8,9,10,11], [12,13,14,15], [16,17,18,19], [20,21,22,23] ]
>>> find_position(6,4)
(1, 2)
>>> test[1][2]
6
>>> find_position(11,4)
(2, 3)
>>> test[2][3]
11
>>>
的范围5
>>> test=[ [0,1,2,3,4], [5,6,7,8,9] ,[10,11,12,13,14],[15,16,17,18,19], [20,21,22,23,24] ]
>>> find_position(11,5)
(2, 1)
>>> test[2][1]
11
>>>
的过程是一个后续,让Size
是每个子范围和n
你婉找到数的大小,那么你只需要在是把数n你想找到。
那意思就是Java的应该很简单,如果借口是我有点生疏,但这样的事情,我认为
public String findRange(int range,int number2bFound){
int sub_ran_pos, pos;
sub_ran_pos = (int) number2bFound/range; //or however the integer division is in java
pos = number2bFound % range; //or however the modulo operation it is in java
return sub_ran_pos + "-" + pos; //or the appropriate return type, for this
}
(我不记得了,但如果Java 1指数,那么你需要在每个数字中加1来得到正确的结果)
相关问题
- 1. 查找数字范围内的空白
- 2. 查找给定范围内的数字?
- 3. c#如何找到范围内的数字位置
- 4. SQL查询来识别范围表内的数字位置
- 5. 查找位置范围擅长
- 6. 查找范围内整数的数量
- 7. 查找范围内的值
- 8. 查找范围内的素数
- 9. MATLAB:查找范围内的函数
- 10. 地理位置API并在半径范围内查找用户
- 11. 查找基于范围内的数字的字符串
- 12. 查找范围内的范围值之和数量
- 13. 在质数范围内查找最大出现位数
- 14. 查找给定范围内的大素数(〜8000位)
- 15. 获取位于'n'位置'x'位置的范围内的数字
- 16. 查找范围内的数字的因数
- 17. 查找范围中的数字
- 18. 查找Mathematica中的数字范围
- 19. MSSQL - 在范围内查找DATE(函数?)
- 20. 如何高效查找数字范围的按位或运算
- 21. 查找ASCII字符范围
- 22. R:查找数字是否在字符串范围内
- 23. 哪种算法可以找到数字范围内的空数字范围?
- 24. 定位范围内的一个范围
- 25. 在java中查找数字范围
- 26. 如何查找数字范围
- 27. 使用Python re.search查找数字范围
- 28. 查找给定范围内的数字缺失
- 29. 查找一定范围内的数字量
- 30. MySQL - 在数字范围内查找最接近的匹配