- 用户可以买1~5张票
- 系统随机为用户分配座位
- 一个用户一次买的票尽量连座
- 已卖座位尽量分布均匀
- 全场搜索剩余座位数,如果小于购票数N,提示仅剩票数,如果还有足够剩余座位,进入步骤2
- 在每一排搜索满足购票数N的连号座位分配种数,
- 每一排都不满足连号,则提示无连号座位,并且按购票数二分法分配(购票数除以2,然后再走分配逻辑)
- 有满足连号,分两种优先级:i) 独占连号的黄金座位(刚好剩余N张连座,两边都没有空位) ii) 普通连号
- 优先分配黄金座位
- 普通连号分配,
- 按每排可选种数占总可选种数分配权重区间
- 按权重随机分配到某一排
- 在已分配的某一排中,随机分配可选的连号座位