问题描述

写一个摇号程序,输入是 users 和 quota:


解题思路

  1. 将所有用户信息放到列表中,列表的结构如下:

lot.jpg

  1. 生成一个 [0, total length - 1] 之间的随机数 n
  2. 找到节点 node,它需要满足:node.start_index <= n <= node.end_index
  3. 将 node.name 加入结果列表;修改 total length;修改 node 之后的所有节点的起始索引和终止索引;从列表中弹出 node
  4. 如果结果列表的长度达到 quota,则返回结果列表;否则,回到步骤 2

Python 实现