关注
第一题背包求解 暴力只过了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 评论
相关推荐
02-28 12:02
华中科技大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 交出你的校招焚诀 #
10192次浏览 172人参与
# 27届求职交流 #
2336次浏览 71人参与
# 神州信息求职进展汇总 #
3567次浏览 68人参与
# 实习生至暗时刻 #
17893次浏览 340人参与
# 26届求职交流 #
2236次浏览 54人参与
# 面试___岗的必刷题单 #
11942次浏览 209人参与
# 经纬恒润求职进展汇总 #
153245次浏览 1080人参与
# 三月的小目标 #
10641次浏览 190人参与
# 哪些公司开暑期实习了? #
16943次浏览 138人参与
# 你经历过哪些AI幻觉? #
4960次浏览 116人参与
# AI面试问题分享 #
12942次浏览 263人参与
# 春招开局,你有保底offer吗? #
24554次浏览 199人参与
# 公司情报交流地 #
144516次浏览 1274人参与
# 找AI工作应该卷什么? #
3885次浏览 68人参与
# 实习生的生存小技巧 #
6745次浏览 107人参与
# 米哈游求职进展汇总 #
583968次浏览 2999人参与
# 24届的你们现状如何了? #
112512次浏览 523人参与
# 实习想申请秋招offer,能不能argue薪资 #
224751次浏览 1195人参与
# 你的秋招第一面感觉怎么样 #
140541次浏览 806人参与
# 字节开奖 #
130636次浏览 602人参与
# 小厂一定不能去吗? #
23358次浏览 172人参与
