java笔试考题


1、java 合并两个有序数组


package base; /**
* 方式一 * java 合并两个有序数组 */ public class MergeTwoArray { public static void main(String[] args) { int[] arrayA = {100,200,201,334}; int[] arrayB = {101,104,106,233,455,772}; int[] arrayC = new int[arrayA.length + arrayB.length]; merge(arrayA,arrayA.length,arrayB,arrayB.length,arrayC); disPlay(arrayC); } public static void merge(int[] arrayA, int sizeA, int[] arrayB, int sizeB,int[] arrryC) { int aIndex = 0, bIndex = 0,cIndex = 0; while (aIndex < sizeA && bIndex < sizeB) { if(arrayA[aIndex] < arrayB[bIndex]) { arrryC[cIndex ++] = arrayA[aIndex++]; } else { arrryC[cIndex ++] = arrayB[bIndex++]; } } while (aIndex < sizeA) { arrryC[cIndex ++] = arrayA[aIndex++]; } while (bIndex < sizeB) { arrryC[cIndex ++] = arrayB[bIndex ++]; } } public static void disPlay(int[] arryx) { for(int i = 0; i < arryx.length; i ++) { System.out.print(arryx[i] + " "); } System.out.println(); } }

/**
* 方式二 * java 合并两个有序数组 */

class Untitled {
    public static void main(String[] args) {
    System.out.println("hello https://tool.lu/");
    int[] a = new int[]{1,2,3,4,5};
    int[] b = new int[]{6,7,8,9};
    for(int i : a){
    System.out.println(i);
    }
//方式一
//数组合并
int[] arr = addd(a,b);
//冒泡排序
for (int i = 0; i < arr.length; i++) {
//外层循环,遍历次数
for (int j = 0; j < arr.length - i - 1; j++) {
//内层循环,升序(如果前一个值比后一个值大,则交换)
//内层循环一次,获取一个最大值
if (arr[j] > arr[j + 1]) {
int temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
for(int r : arr){
System.out.println(r);
}
//方式二
//直接比较插入排序
merg(a, b);
}
//数组合并
public static int[] addd(int[] m, int[] n) {
int[] s = new int[m.length+n.length];
for(int k=0;k s[k] = m[k];
}
for(int l=0;l s[m.length+l] = n[l];
}
return s;
}
//直接比较插入排序
public static void merg(int[] ms1, int[] ms2) {
int i = ms1.length-1;
int j = ms2.length-1;
int k = ms1.length+ms2.length-1;
int[] re = new int[k+1];
while(i>=0 && j>=0){
re[k--] = ms1[i] > ms2[j] ? ms1[i--] : ms2[j--];
}
while(i>=0){
re[k--] = ms1[i--];
}
while(j>=0){
re[k--] = ms2[j--];
}
for(int r : re){
System.out.println(r);
}
}

}