代码之家  ›  专栏  ›  技术社区  ›  jedierikb grijalvaromero

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

  •  1
  • jedierikb grijalvaromero  · 技术社区  · 7 年前

    我有一个范围,是0.1到0.75。在这个范围内是0.13到0.74的子范围。

    在该范围内,子范围占空间的~93.8%。

    范围内的子范围左侧“填充”占~4.6%,右侧“填充”占~1.5%。

    我需要确保子范围两边至少有5%的“填充” 扩大范围 (不缩小内部范围的大小)。如何快速确定范围的扩大范围?

    如果内部范围是[.5,.74]这样,只有外部范围的右侧需要扩大,以达到内部范围的最小5%填充量,该怎么办?

    不是家庭作业:—)

    1 回复  |  直到 7 年前
        1
  •  1
  •   MBo    7 年前

    简单逻辑(问题修正后编辑):

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