我最近遇到以下 问题:查找“平均”相等的上下距离的值一组给定
给定一组具有高度yᵢ点,找到行的高度,这以上的点的平均距离等于平均距离到线以下几点:
更抽象的定义:给定一组的实值的数据点Y = {Y 1,...,YN},发现将Y分成两组Y + = {y∈Y:y>ȳ }和Y - = {yεY:y<ȳ},使得⁺与Y +元素之间的平均距离等于ȳ与Y - 元素之间的平均距离。
天真的解决方案:用Y的平均值初始化,,计算平均上下距离并根据平均距离的上限还是下限更大来反复向上或向下移动。
问题:这个问题很基本,所以可能有更好的解决方案(?)即使是一个非迭代的代数算法?
什么,其y坐标*等于*该ȳ点?那些不包含在你的集合Y +和Y - 中,所以它似乎把Y分解成三个集合,其中一个似乎被忽略了。如果它们包含在两组中,它们将改变平均距离。 –
@RoryDaulton好点,任何解决方案都很好。因此,只要算法快速/简单,就包括一个,两个或不设置。 –
如果您知道哪些点位于线条的上方和下方,因为存在间隙,那么这非常简单。但如果你不这样做,那么如果一个点在线上会发生什么? – maraca