我正在寻找一种算法来填充多个插槽,这些插槽已经被部分填充。
我可以遍历我的插槽,并将最低的插槽数量增加1,直到可用数量被消耗,但是我想知道如何实际计算新的填充水平。
我将使用SQL/PLSQL来实现这个功能,其他代码也同样适用 :)
- 已知当前的填充水平和可用数量
- 结果水平应尽可能相等,但现有的水平不能降低
- 插槽从左到右填充,因此如果无法实现相等水平,则左侧插槽会获得更高的水平
上图展示了六个例子,每列代表一个插槽。灰色区域已经填满,蓝色区域是新元素的期望位置。
示例 http://img695.imageshack.us/img695/6529/fill.png
我可以遍历我的插槽,并将最低的插槽数量增加1,直到可用数量被消耗,但是我想知道如何实际计算新的填充水平。
我将使用SQL/PLSQL来实现这个功能,其他代码也同样适用 :)