台北市网站建设_网站建设公司_JSON_seo优化
2025/12/18 3:01:27 网站建设 项目流程

今天先讲简单方法,其实我发现简单方法也是2ms跑完(

先贴代码,再分块讲:

class Solution {这是答题类,目标是合并后直接输出

public double findMedianSortedArrays(int[] nums1, int[] nums2) {

int[] merged = mergeTwo(nums1, nums2);//调用函数合并,合并函数在下面

int len = merged.length;计算长度

if (len % 2 == 1) {

return merged[len / 2];//奇数:直接返回中间位置的数(索引为 len/2)

} else {

return (merged[len / 2 - 1] + merged[len / 2]) / 2.0;//偶数:返回中间两个数的平均值

}

}

private int[] mergeTwo(int[] nums1, int[] nums2) {//合并函数在这里

int m = nums1.length, n = nums2.length;求出两个长度,后面判断越界时有用

int[] merged = new int[m + n]; //存储合并后的数组

int i = 0, j = 0, k = 0;//创建索引

while (i < m && j < n) {//遍历两个数组,选小的放进新数组

if (nums1[i] < nums2[j]) {

merged[k] = nums1[i];

k++;我知道可以把k++写进去

i++;

} else {

merged[k] = nums2[j];

k++;

j++;

}

}

while (i < m) {//处理剩余的元素

merged[k] = nums1[i];如果有的话就全放后面就行

k++;

i++;

}

while (j < n) {

merged[k] = nums2[j];

k++;

j++;

}

return merged;

}

}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询