_Anna_ 2021-03-11 10:47 采纳率: 50%
浏览 65
已采纳

如何实现按知识点随机抽题组卷?

1、一道题有可能有多个知识点

2、按不同的知识点抽题组卷,要求去重,即同一道题有两个知识点的话,不能在一套试卷里出现两次

 

例如:题号有 1,2,3,4,5,6  知识点A包含1,2,3,4  四道题,知识点B包含3,4,5,6四道题,现在要在知识点A下抽取2道题,知识点B下抽取3道题,算法如何实现?题量有100道题,知识点有6个的时候,六个知识点中一共抽取45道题,运算量级如何?

 

谢谢作答。

  • 写回答

4条回答 默认 最新

  • 关注

    你看下这个方案能否满足你的需求:

    1. 将题目整理成Key:Value键值对(questionMap),key:某个知识点 value:包含某个知识点的题目集合

    2. 遍历需要抽取的知识点(k1),和知识点对应的题目个数,从 questionMap 中按照获取k1对应的所有题目(如果题目太多可以先获取一部分),将获取的题目放入去重集合中(resultSet),resultSet 内部具有去重功能,计算成功放入的个数 k1Count,直到 k1Count 等于知识点(k1)要求的题目个数

    3. 遍历完所有的知识点之后,resultSet 就是你需要的问卷了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示