0 点赞 评论 收藏
分享
Kye_H:import java.util.Arrays;
import java.util.Scanner;
public class Main1 {
private static int index = 0;
private static int replaceNum;
private static int[] A;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] arr1 = sc.nextLine().split(" ");
String[] arr2 = sc.nextLine().split(" ");
if (arr1 == null || arr2 == null || arr1.length == 0 || arr2.length == 0) {
System.out.print("NO");
return;
}
A = new int[arr1.length];
int[] B = new int[arr2.length];
int i = 0;
for (String s : arr1) {
A[i++] = Integer.parseInt(s);
}
i = 0;
for (String s : arr2) {
B[i++] = Integer.parseInt(s);
}
findInA(A);
Arrays.sort(B);
if(findInB(B, index)) {
//替换index的值 只能AC70%
A[index] = replaceNum;
} else if (findInB(B, index - 1)) {
//考虑替换index-1的值
A[index - 1] = replaceNum;
}
if (isSorted(A)) {
printArray(A);
} else {
System.out.print("NO");
}
sc.close();
return;
}
private static void printArray(int[] a) {
for (int i = 0; i < a.length; i++) {
if (i != a.length - 1) System.out.print(a[i] + " ");
else System.out.print(a[i]);
}
}
private static boolean isSorted(int[] newA) {
for (int i = 1; i < newA.length; i++) {
if (newA[i] <= newA[i - 1]) {
return false;
}
}
return true;
}
private static boolean findInB(int[] b, int index) {
int res = Integer.MIN_VALUE;
for (int num : b) {
if (index >= 1) {
if (num > A[index - 1] && num < A[index + 1]) {
res = Math.max(res, num);
}
} else if (index == 0) {
if (num < A[index + 1]) {
res = Math.max(res, num);
}
}
}
boolean result = res == Integer.MIN_VALUE ? false : true;
if (result) {
replaceNum = res;
}
return result;
}
private static void findInA(int[] a) {
for (int i = 1; i < a.length; i++) {
if (a[i - 1] >= a[i]) {
index = i;
}
}
}
}
投递拼多多集团-PDD等公司10个岗位 >
0 点赞 评论 收藏
分享
想要offer呀:啊我记得这个属于python内存管理,整数相同对象用的就是同一个引用
0 点赞 评论 收藏
分享
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
牛客吴彦祖:说句不中听的话,你认为这样的岗位门槛有多高呢,门槛低的岗位,竞争人数又会是多少呢,没区分度纯看天
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
Big淇淇:为什么你们都是进入笔试,而我的状态是Exam done..
投递vivo等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: