将有序数据拆分为等大小批次的成熟算法求解咨询
按固定大小拆分数据批次需求
我需要将以下已排序的数据整合为大小相同的批次,设定批次大小为100k。
181000 : Zee5 164000 : VootSelect 40000 : SunNxt 30000 : SonyLiv 21213 : Prime 13505 : VootKids 10616 : epicOn 4705 : ErosNow 2438 : Hungama 1878 : CuriosityStream 849 : Tatasky 116 : docubay 50 : Shemaroome
预期输出示例
批次1: 100000 : Zee5
批次2: 81000 : Zee5 19000 : VootSelect
批次3: 100000 : VootSelect
批次4: 45000 : VootSelect 40000 : SunNxt 15000 : SonyLiv
批次5: 以此类推....
现有实现问题
目前参考贪心算法思路自行实现了逻辑,但该方案无法满足需求,不确定贪心算法是否适配该场景。实现代码如下:
#include <iostream> #include <algorithm> using namespace std; const int MAX = 105; int A[MAX]; int main() { int T, N, numberOfThings = 0, currentTime = 0; cin >> N >> T; for(int i = 0;i < N;++i) cin >> A[i]; sort(A, A + N); for(int i = 0;i < N;++i) { currentTime += A[i]; if(currentTime > T) break; numberOfThings++; } cout << numberOfThings << endl; return 0; }
这类场景在开发中非常常见,希望找到可以解决该问题的成熟算法。
内容的提问来源于stack exchange,提问作者TheCurious
相关产品推荐
相关产品推荐

