数据平均分配的算法问题

华美乐章 2013-08-07 10:58:53
现在遇到问题了,请朋友们帮忙分析下:

我现在有个map里面存了N个号码段,比如N=4,若是4个号码段(150、151、152、153),其中150号码段 有100条数据; 151号码段有200条 ;152号码段有50条; 153有250条。总共100+200+50+250=600条。

现在想把150的号码平均分配,也就是说6条里面必须含有1条150的号码,151的码号200条 3条里面必须含1条151的号码段,其他的几个号码段也是这样的分配方式。

请求大家提供一个解决思路或者算法。灰常感谢.
...全文
527 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
华美乐章 2013-08-07
  • 打赏
  • 举报
回复
map<CString,vector<CString>> gCsvMap;我的map里面的KEY值多少个是不固定的.或者4个 或者10多个..现在没有一点头绪来如何平均分配这些数据,请大神给点意见 谢谢
woshinia 2013-08-07
  • 打赏
  • 举报
回复
遍历gCsvMap, it->second.size()就是it->first对应的条数,根据条数与总条数的比例,比如150是1:6,结果用vector<CString> vecRt来表示的话,就每隔6次vecRt.push一个150,每隔3次push一个151。如果是2:5的话就每隔5次push 2个。整体来看的话就是,每12个位置,有2个150,4个151,1个152,5个153.

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧