网易互娱开发第四题
求大佬帮看下代码!
package 笔试;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] data = new int[n];
for (int i = 0; i < n; i++) {
data[i] = sc.nextInt();
}
int count = sc.nextInt();
int q[] = new int[count];
for (int i = 0; i < count; i++) {
q[i] = sc.nextInt();
}
for (int j = 0; j < count; j++) {
int res = solu(q[j], data);
System.out.println(res);
}
}
/*
10
6 12 20 14 15 15 7 19 18 13
6
15 23 19 1 17 24
*/
public static int solu(int num, int[] arr) {
int len = arr.length;
int dp[] = new int[len];
int end[] = new int[len];
for (int k = 0; k < len; k++) {
end[k] = -1;
}
if (arr[0] > num) {
dp[0] = 1;
end[0] = 0;
}
for (int i = 1; i < len; i++) {
if ((i - 1) != end[i - 1]) {
if (arr[i] > num) {
dp[i] = dp[i - 1] + 1;
end[i] = i;
} else {
dp[i] = dp[i - 1];
end[i] = end[i - 1];
}
}
else{
if (arr[i] > num) {
dp[i] = dp[i - 1];
end[i] = i;
} else {
dp[i] = dp[i - 1];
end[i] = end[i - 1];
}
}
}
return dp[len - 1];
}
}