(详解)给定两数组升序数组num1,num2将两数组和并为一个数组,并找出中位数

例如 :num1={1,2,3},num2={4,5,6}

输出:3.5

方法:暴力求解法

步骤:将两数组和并为一个新数组,升序排序,判断数组长度的奇偶性

           求出数组对应中间下标,获取中位数

代码如下:

package leetcode;

import java.util.Arrays;
public class maddlenum {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []num1={1,4,5 ,10};
		int []num2={2,3,8,9};
		System.out.println(hebing(num1,num2));
	}
	
	public static double hebing(int []num1,int []num2){
		double zhong = 0;
		double[] temp=new double[num1.length+num2.length];
		for(int i=0;i<=num1.length-1;i++){
			temp[i]=num1[i];	
			}
		for(int j=0;j<=num2.length-1;j++){
			temp[num1.length+j]=num2[j];
		}
		
		Arrays.sort(temp);//升序排序
		//判断数组长度的奇偶性
		if(temp.length%2==1){
			 zhong=temp[temp.length/2];
		}else if(temp.length%2==0){
			 zhong=((temp[temp.length/2]+temp[temp.length/2-1])/2);
		}
		return zhong;
	}

}

Guess you like

Origin blog.csdn.net/qq_52253798/article/details/121000065