这什么破网站,都能编译运行出来,特喵的编译不通过
class Solution {
public static double findMedianSortedArrays(Integer[] nums1, Integer[] nums2) {
List<Integer> list = new ArrayList<>();
list.addAll(Arrays.asList(nums2));
list.addAll(Arrays.asList(nums1));
Collections.sort(list);
double result = 0.0D;
if(list.size() % 2 == 0) {
int num1 = list.get(list.size() / 2);
int num2 = list.get(list.size() / 2 + 1);
result = (double) ((num1 + num2) / 2);
} else {
result = list.get(list.size() / 2);
}
return result;
}
}
两个问题哈
这样试一下
class Solution {
public static double findMedianSortedArrays(Integer[] nums1, Integer[] nums2) {
List<Integer> list = new ArrayList<>();
list.addAll(Arrays.asList(nums2));
list.addAll(Arrays.asList(nums1));
Collections.sort(list);
double result = 0.0;
if(list.size() % 2 == 0) {
int num1 = list.get(list.size() / 2);
int num2 = list.get(list.size() / 2 + 1);
result = (double) ((num1 + num2) / 2);
} else {
result = list.get(list.size() / 2);
}
return result;
}
能编译运行出来,提交不通过的情形有很多,有的可能不是出错,可能是一些细节上的错误,会出现warning,或者说方法上的错误,提交会不通过。
这道题应该是力扣上 寻找两个正序数组的中位数的题目 可以尝试 下面的写法
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < nums1.length; i++) {
list.add(nums1[i]);
}
for (int i = 0; i < nums2.length; i++) {
list.add(nums2[i]);
}
double num = 0.0;
Collections.sort(list);
if (list.size() % 2 == 0){
num = (list.get(list.size() / 2) + list.get(list.size() / 2 - 1)) / 2.0;
}else {
num = list.get(list.size()/2);
}
return num;
}
}
希望对题主有所帮助,望采纳!!