• Median of Two Sorted Arrays


    There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

    题意

    长度为m和n排好序的数组A和B,找出A和B的中值

    思路

    将A和B放到数组C中排好序,找出C中的中间值。如果C的长度为奇数,返回C[C.length / 2] / 2;如果C长度为偶数,返回中间两个数的平均值,返回(C[size / 2] + C[(size - 1)/ 2]) / 2

     1 public class Solution {
     2     public double findMedianSortedArrays(int A[], int B[]) {
     3         double C[] = new double[A.length + B.length];
     4         int ptr_a = 0;
     5         int ptr_b = 0;
     6         int ptr_c = 0;
     7         for(; ptr_a < A.length && ptr_b < B.length && ptr_c < C.length; ptr_c++){
     8             if(A[ptr_a] > B[ptr_b]){
     9                 C[ptr_c] = B[ptr_b];
    10                 ptr_b++;
    11             }
    12             else{
    13                 C[ptr_c] = A[ptr_a];
    14                 ptr_a++;
    15             }
    16         }//for
    17         while(ptr_a < A.length)
    18         {
    19             C[ptr_c++] = A[ptr_a++];
    20         }
    21         while(ptr_b < B.length)
    22         {
    23             C[ptr_c++] = B[ptr_b++];
    24         }
    25 
    26         
    27 
    28         int size = C.length;
    29         if(size % 2 == 1)
    30             return C[size / 2];
    31         return (C[size / 2] + C[(size - 1)/ 2]) / 2;    
    32     }
    33 }
  • 相关阅读:
    docker 服务器安装harbor
    docker win10 推送镜像问题
    docker win10 基本指令
    docker、docker-compose安装,卸载
    go 名词备注
    go 结构开发规范
    Java基础--day14
    Java基础--day12
    Java基础--day11
    算法笔记--数据结构--树与二叉树
  • 原文地址:https://www.cnblogs.com/luckygxf/p/4323535.html
Copyright © 2020-2023  润新知