填充槽的算法

Pet*_*ang 5 sql language-agnostic algorithm math

我正在寻找一种算法来填充几个已填充到某个级别的插槽.

  • 目前的水平和可用的填充量是已知的
  • 产生的水平应尽可能相等,但现有水平不能降低
  • 插槽从左到右填充,因此如果不能达到相同的水平,则左侧插槽会变高

      示例http://img695.imageshack.us/img695/6529/fill.png

上图显示了六个示例,每列代表一个插槽.灰色区域已经填充,蓝色区域是新元素的预期位置.


我可以遍历我的插槽并增加最低插槽的1数量直到消耗可用数量,但我想知道如何实际计算新的填充水平.

我将用SQL/ 实现这个PL/SQL,其他代码虽然欢迎:)

Mar*_*ker -1

听起来像经典的背包问题在Rosetta Code 中使用不同的算法有许多不同的语言解决方案,尽管我不确定 PL/SQL 中有什么