题目描述

推荐多样性需要从多个列表中选择元素,一次性要返回 N 屏数据(窗口数量),每屏展示 K 个元素(窗口大小),选择策略:

  1. 各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推
  2. 每个列表的元素尽量均分为 N 份,如果不够 N 个,也要全部分配完,参考样例图:

    (1)从第一个列表中选择 4 条 0 1 2 3,分别放到 4 个窗口中

    (2)从第二个列表中选择 4 条 10 11 12 13,分别放到 4 个窗口中

    (3)从第三个列表中选择 4 条 20 21 22 23,分别放到 4 个窗口中

    (4)再从第一个列表中选择 4 条 4 5 6 7,分别放到 4 个窗口中

    (5)再从第一个列表中选择,由于数量不足 4 条,取剩下的 2 条,放到 窗口1 和 窗口2

    (6)再从第二个列表中选择,由于数量不足 4 条并且总的元素数达到窗口要求,取 18 19 放到 窗口3 和 窗口4