import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums1 int整型一维数组 * @param nums2 int整型一维数组 * @return double浮点型 */ public double findMedianSortedArrays (int[] nums1, int[] nums2) { int index1 = 0; int index2 = 0; int [] combinedNums = new int[nums1.length+nums2.length]; int index = 0; while(index1<nums1.length&&index2< nums2.length){ if(nums1[index1]>nums2[index2]){ combinedNums[index++] = nums2[index2++]; }else{ combinedNums[index++] = nums1[index1++]; } } while(index1<nums1.length){ combinedNums[index++] = nums1[index1++]; } while(index2<nums2.length){ combinedNums[index++] = nums2[index2++]; } int n = combinedNums.length; if(n%2!=0){ return combinedNums[n/2]; } return (combinedNums[n/2]+ combinedNums[(n-1)/2])/2.0; } }
本题知识点分析:
1.数组遍历
2.双指针
3.数学模拟
本题解题思路分析:
1.先将有序数组合并成一个
2.然后根据奇偶数进行返回,奇数直接返回中位数,偶数要取两个中间值然后除2.0,如果直接除2是会去掉小数的
本题使用编程语言: Java
如果你觉得本篇文章对你有帮助的话,可以点个赞支持一下,感谢~