关注
没测试,可能有错,肯定大佬指正。个人觉得不是背包。 有爱: public static int isAll(int[] n, int[] m, int S){
int sum = Arrays.stream(n).sum() + S;
Arrays.sort(m);
int i = 0;
while (sum - m[i] > 0) {
sum -= m[i];
i++;
}
return i;
} 无爱问题1: public static boolean isAll(int[] n, int[] m, int S){
if (n.length > m.length) { return false; }
Arrays.sort(n); Arrays.sort(m);
for (int i=0; i<n.length; i++) {
int need = n[i] - m[i];
if (need < 0)
S += need;
}
return S >= 0;
} 无爱问题2: private static int n[];
private static int m[];
private static int S;
public static int[] isAll(int[] n, int[] m, int S){
Arrays.sort(n);
Arrays.sort(m);
Main.n = n; Main.m = m; Main.S = S;
int l =0, r = m.length;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (can(mid)) { l = mid; }
else { r = mid - 1; }
}
int ans = 0;
for (int i=0; i<l; i++) {
ans += m[i];
}
return new int[] {l, ans};
}
private static boolean can(int count) {
int tmpS = S;
for (int i = count-1,j = n.length-1; i>=0; i--, j--) {
if (n[j] < m[i]) {
tmpS -= (m[i] - n[j]);
}
if (tmpS < 0) { return false; }
}
return true;
}
查看原帖
点赞 4
相关推荐
点赞 评论 收藏
分享
10-05 21:58
广西职业师范学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你现在会用到哪些AI技能? #
5762次浏览 80人参与
# 蚂蚁求职进展汇总 #
123086次浏览 1163人参与
# 智慧芽求职进展汇总 #
1726次浏览 5人参与
# 秋招踩过的“雷”,希望你别再踩 #
84194次浏览 1077人参与
# 我对___祛魅了 #
132247次浏览 736人参与
# 大厂VS公务员你怎么选 #
27171次浏览 393人参与
# 平安产险科技校招 #
702次浏览 0人参与
# 你还有多少年退休? #
26739次浏览 192人参与
# 我的求职进度条 #
89090次浏览 1180人参与
# 实习在多还是在精 #
34793次浏览 242人参与
# 实习下班不想学习,正常吗? #
19890次浏览 173人参与
# 小马智行求职进展汇总 #
13546次浏览 49人参与
# 你的房租占工资的比例是多少? #
64760次浏览 798人参与
# 你见过哪些工贼行为 #
16497次浏览 90人参与
# 金蝶求职进展汇总 #
53903次浏览 263人参与
# 总结:哪家公司面试体验感最好 #
70151次浏览 416人参与
# 校招谈薪一定要知道的事 #
13228次浏览 114人参与
# 找工作中的小确幸 #
26815次浏览 276人参与
# 顺丰求职进展汇总 #
63359次浏览 314人参与
# 非技术岗投递进展 #
157919次浏览 1314人参与
# 反问环节如何提问 #
115333次浏览 2462人参与
# 你觉得材料多少算高薪 #
26127次浏览 159人参与