ykandyp
ykandyp
采纳率100%
2018-06-20 03:45 阅读 3.2k
已采纳

一个关于平均分配算法的问题

5

场景:有N张图片,M种图片类型,每张图片可以同时属于1-M种类型。现要把N张图片按照类型分配,使得每种类型的图片数量差不多。
请高手们给个思路。多谢啦~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    haitao1962920 松海阵阵 2018-06-20 08:03

    平均数= N/M,然后统计每个图片的类型数,分配的时候优先分配类型少的,比如从只有一个类型的分配,接着从2,3,4中类型的分配,同时注意,类型中分配的图片少的优先分配,最后根据许愿进行微调

    点赞 1 评论 复制链接分享
  • u010106707 SAM_GOD 2018-06-20 06:57

    每张图片可同时属于不同类型,那就先将图片可属种类数量从小到大排序。
    然后按图片序号从小到大添加类型标识,当每种类型都有图片时,添加类型标识时将按照类型所含图片数从小到大添加。
    如此一来,就能基本满足你的要求。

    点赞 2 评论 复制链接分享
  • weixin_42463631 weixin_42463631 2018-06-20 03:53

    总数 div 人数 = 整除后的结果 a这样每人先分 a 个总数 mod 人数 = 取模后的结果 b从第一个人开始,每人一个,直到第b个人算法结果:10份分三个人 , 每人先分 10div 3 = 3个, 剩余 10mod3 = 1个,只能给一个人,这样结果 为 4,3, 32份分三个人,每人先分 2div3= 0个,剩余 2mod3 = 2个,依次分 1, 1, 0。结果为 1, 1, 0总结:主要是整除运算和取模运算,以及for循环的使用

    点赞 1 评论 复制链接分享
  • u010695008 洛克_ 2018-06-20 03:56

    感觉提的问题不够清楚。
    按照提的问题看,每张图片可以同时属于1-M种类型的话。那么让N张图片的每一张同时属于M中类型就完事了。这样每种类型的图片数量都为N

    点赞 1 评论 复制链接分享
  • ailaillia ailaillia 2018-06-20 05:43

    第一步,统计1-M种类型,每个类型所包含的图片个数nPic;
    第二步,在包含图片最多的类型中选择某种图片n(1<n<N),将n转移到包含图片最少的类型中,之后重复第一步和第二步,直至将所有图片都转移完成;

    这种方法迭代进行,很多细节还需要确定。希望对你有帮助。

    点赞 1 评论 复制链接分享

相关推荐