使用了笨逼解法 先合并数组 再排序 在进行判断奇偶 最后得出中位数
需要注意的点 是
在java中
/2 和 /2.0是不同的
要看除数是什么类型的,如果是int :区别是 5/2=2,5/2.0f=2.5:
如果除数是浮点数 没什么区别
java中判断奇偶性
要使用
a% 2 !=0
因为
java求余结果与左操作数保持相同的符号
public boolean isOddNumber(int i) {
return i % 2 != 0;
}
public boolean isOddNumber(int i) {
return ((i & 1) == 1) ? true : false;
}
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
//合并数组
int size=nums1.length + nums2.length;
int[] sum = new int[size];
for(int i = 0;i < nums1.length;i++) {
sum[i] = nums1[i];
}
for(int j = 0;j< nums2.length;j++) {
sum[nums1.length + j] = nums2[j];
}
//对数组进行排序
int temp;
for(int i = 0; i<sum.length; i++){
for (int j = sum.length-1; j > i; j--) {
if (sum[j] < sum[j - 1]) {
temp = sum[j - 1];
sum[j - 1] = sum[j];
sum[j] = temp;
}
}
}
System.out.println(sum.length);
// System.out.println(sum[1]);
// System.out.println(sum[2]);
// System.out.println(sum[3]);
if(sum.length % 2!=0) {
return sum[(sum.length-1)/2];
}
else{
int b =sum.length/2;
return (sum[b] + sum[b - 1])/2.0;
}
}
}