文章列表
在做现在的这个产品的时候,碰到一个常见的单据插入场景。
场景描述如下:
工厂里的一种单据,这种单据的单号(单号为字符串类型)生成须有如下的限制条件:
插入时按顺序插入,即单号生成为递增1。工人进行操作时,如遇到删除单据的情形,是随机的删除。在这时候,如果继续插入一条新单据,新单据单号满足的条件是,必须为整个单号序列中,最小连续完整序列的最大单号加1。
例如:原单号序列为:1,2,3,4,5,6,7。
(1) 随机删除单号为4的单据,这个时候的序列号为1,2,3,5,6,7,如果此时插入新单据的话,最小完连续整序列为(1,2,3),新增单号为4。
(2) 随机删除3,5,7,此时的序列号 ...