关注
第一题背包求解 暴力只过了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届春招投递记录 #
51920次浏览 425人参与
# 薪资一样,你会选择去大厂还是小公司 #
34991次浏览 129人参与
# 27届实习投递记录 #
147425次浏览 1555人参与
# 哪个瞬间让你对大厂祛魅了? #
645553次浏览 4018人参与
# 实习的内耗时刻 #
242185次浏览 1664人参与
# 求职中的尴尬瞬间 #
41957次浏览 125人参与
# 记录实习开销 #
226508次浏览 1766人参与
# 你找工作的时候用AI吗? #
214596次浏览 1032人参与
# 听劝,这个简历怎么改 #
422842次浏览 1901人参与
# 春招 / 实习投递,你最焦虑的一件事 #
164673次浏览 1814人参与
# 暑假倒计时,你都干了些啥? #
62086次浏览 318人参与
# 机械人还在等华为开奖吗? #
344341次浏览 1658人参与
# 2022届毕业生现状 #
1174945次浏览 7802人参与
# 新凯来求职进展汇总 #
82589次浏览 194人参与
# 职场中那些令人叹为观止的八卦 #
112303次浏览 497人参与
# 华子oc时间线 #
1516223次浏览 7126人参与
# 牛友投递互助,不漏校招机会 #
495037次浏览 5368人参与
# 百度求职进展汇总 #
745528次浏览 6495人参与
# 大厂无回复,继续等待还是奔赴小厂 #
376226次浏览 2119人参与
# 正在实习的你,有转正机会吗? #
527925次浏览 3105人参与
