【发布时间】:2017-03-01 11:06:28
【问题描述】:
我有一个样本编号的排序列表,例如:
0.1、0.2、0.4、0.5、0.8、0.9、1.0、1.5、2.0、4.0、4.5、5.0、10.0、15.0、20.0
我需要找到样本的分辨率以及这些分辨率的范围。限制是,一旦您转到较低的分辨率(数字之间的增量较大),您将无法返回。
示例的正确输出应该是:
- 从 0.1 到 1.0,分辨率为 0.1
- 从 1.0 到 5.0,分辨率为 0.5
- 从 5.0 到 20.0,分辨率为 5.0
我尝试检查这些数字并将它们的差异作为分辨率,并在该分辨率成立的情况下扩展范围,但我在处理 0.2 到 0.4 之间的情况时遇到了困难,其中分辨率可能为 0.2,即然后用下一个样本 0.5 失效。
谁能帮我找到一个可以做到这一点的算法? 我使用的是 c++,数字的精度为小数点后 3 位,如果这有什么不同的话。
【问题讨论】:
标签: algorithm