阳父:太难了吧,这些我一个都不会
投递网易等公司10个岗位 >
0 点赞 评论 收藏
分享
2019-08-17 22:22
上海市计算技术研究所 Java 我家的猫不理我:我就a了第五题 import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] A = new int[N];
int[] B = new int[N];
for (int i = 0; i < N; i++) {
A[i] = sc.nextInt();
}
for (int i = 0; i < N; i++) {
B[i] = sc.nextInt();
}
helper(A, B, N);
}
public static void helper(int[] A, int[] B, int N) {
int[] dpA = new int[N];
int[] dpB = new int[N];
dpA[0] = A[0];
dpB[0] = B[0];
for (int i = 1; i < N; i++) {
if (A[i - 1] == 0) {
dpA[i] = Math.max(dpA[i - 1], dpB[i - 1]) + A[i];
} else {
dpA[i] = dpB[i - 1] + A[i];
}
if (B[i - 1] == 0) {
dpB[i] = Math.max(dpA[i - 1], dpB[i - 1]) + B[i];
} else {
dpB[i] = dpA[i - 1] + B[i];
}
}
System.out.println(N - Math.max(dpA[N - 1], dpB[N - 1]));
}
}
投递腾讯等公司10个岗位 >
0 点赞 评论 收藏
分享
hzrick:算法题可以先排序再用双指针哇,比背包问题好一点呀
投递顺丰集团等公司10个岗位 >
0 点赞 评论 收藏
分享
放码过来:第一题有问题。就是有一个(或对个)测试用例,即使最早的闹钟响起,也会导致迟到(与题意不符,题意保证肯定有解)。然后我在最后加了一个判断,如果所有闹钟都无法满足条件,就输出最早的闹钟时间,然后全通过了。
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: