2
我有試樣編號的排序列表,例如列表:查找分辨率範圍爲浮點數
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位小數,如果有任何區別。
的問題是找到子集是什麼,他們沒有事先 –
@EyalK聞名。你可以使用我描述的功能找到子集。您可以使用一段時間來識別分辨率更改,與我已經顯示的測試方式非常相似。如果smallestDifference(input,i)