合并再排序:
⭐这个方法比较笨,大家要是有更好的方法,可以推荐一下,相互学习;
- 第一步定义一个新数组sum,该数组sum的长度为array1和array2两个数组长度之和;
- 将array1数组中的数依次存入到数组sum中;
- 将array2中的数字逆顺序存入到数组sum中;
- 将数组sum进行排序,使得数字从小到大排列;
- 求第kth小的数,即数组sum中的第kth-1个数,直接返回sum[kth-1];
public class Solution { public int findKthNum(int[] arr1, int[] arr2, int kth) { int[] sum=new int[arr1.length+arr2.length]; for(int i=0;i<arr1.length;i++){ sum[i]=arr1[i]; } int ik=0; for(int j=sum.length-1;j>= arr1.length;j--){ sum[j]=arr2[ik]; ik++; if(ik>arr2.length-1){ break; } } int temp; for(int i=0;i<sum.length-1;i++){ for(int j=0;j<sum.length-1;j++){ if(sum[j]>sum[j+1]){ temp=sum[j]; sum[j]=sum[j+1]; sum[j+1]=temp; } } } return sum[kth-1]; } }