确定数字行上内部范围的填充

时间:2018-07-03 04:05:03

标签: algorithm

我的范围是.1到.75。在此范围内的是.13到.74的子范围。

在该范围内,子范围占据了〜93.8%的空间。

该范围的左侧“填充”占〜4.6%,右侧“填充”占1.5%。

我需要通过扩大范围(不减小内部范围的大小)来确保子范围的两侧至少有5%的“填充”。如何快速确定范围的扩大范围应该是什么?

如果内部范围是[.5,.74]以便只需要扩大外部范围的右侧以实现内部范围的最小5%填充,该怎么办?

不是作业:-)

1 个答案:

答案 0 :(得分:1)

简单的逻辑(在问题更正后进行编辑):

 Given:  RangeLeft, RangeRight, SubLeft, SubRight
 MinPadding = (SubRight - SubLeft) * 5 / 90
 NewLeft = Min(RangeLeft, SubLeft - MinPadding)
 NewRight = Max(RangeRight, SubRight + MinPadding)]