关注
第一题背包求解 暴力只过了0.3
public long Solve(int n, int m, int[] weights) {
long min = 0;
long max = 0;
for(int i=0;i<n;i++){
min+=weights[i];
if(weights[i]>max)
max = weights[i];
}
if(min%m!=0)
min=(long)(min/m)+1;
else min = min/m;
min=Math.max(min, max);
while(beibao(min,n,m,weights)==false) {
System.out.println(min);
min++;
}
return min;
}
public boolean beibao(long min,int n,int m,int[] weights) {
int t = m-1;
//t是指还剩几个背包
long k = 0;
//k指当前背包装了多少东西
for(int i=0;i<n;++i) {
if(k+weights[i]<=min && t>=0) {
k+=weights[i];
continue;
}else if(t>0) {
//当前背包装不下第i个,换个新背包装第i个,且最少有一个新背包
--t;
k=weights[i];
}
else{
//所有背包都用完,t=0
//还没有跳出循环,即还有石头没装下
return false;
}
}
return true;
}
查看原帖
1 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26年哪些行业会变好/更差 #
13756次浏览 180人参与
# 卷__卷不过你们,只能卷__了 #
6989次浏览 160人参与
# MiniMax求职进展汇总 #
253次浏览 4人参与
# 去年的flag与今年的小目标 #
6678次浏览 155人参与
# 哪些公司在招寒假实习? #
7189次浏览 85人参与
# 有深度的简历长什么样? #
12597次浏览 263人参与
# 机械人的秋招小目标 #
25816次浏览 226人参与
# 现在前端的就业环境真的很差吗 #
488187次浏览 5884人参与
# 写论文的崩溃时刻 #
3529次浏览 100人参与
# 入职第一天 #
7694次浏览 149人参与
# 你不能接受的企业文化有哪些 #
7386次浏览 123人参与
# 央国企投递记录 #
170098次浏览 1633人参与
# 腾讯音乐求职进展汇总 #
147024次浏览 1042人参与
# 你都用AI做什么 #
4824次浏览 112人参与
# 实习教会我的事 #
48577次浏览 359人参与
# 一人分享一道面试手撕题 #
16644次浏览 672人参与
# 秋招白月光 #
645871次浏览 5011人参与
# 一人一道大厂面试题 #
112065次浏览 1253人参与
# 应届生应该先就业还是先择业 #
163393次浏览 828人参与
# 实习,不懂就问 #
148676次浏览 1337人参与
# 新凯来求职进展汇总 #
67133次浏览 174人参与
