zoukankan      html  css  js  c++  java
  • 04.寻找两个有序数组的中位数

    题目:

    第一次提交:

     1 class Solution {
     2     public double findMedianSortedArrays(int[] nums1, int[] nums2) {
     3         //目标: 将2个有序数组合并为一个有序数组
     4         int index01 = (nums1.length+nums2.length-1)/2;
     5         int index02 = (nums1.length+nums2.length)/2;
     6         int[] nums3 = new int[nums1.length+nums2.length];
     7         int i=0;
     8         int j=0;
     9         int k=0;
    10         while(i!=nums1.length||j!=nums2.length){
    11             if(i==nums1.length){
    12                 for(;j!=nums2.length;j++){
    13                     nums3[k++] = nums2[j];
    14                 }
    15                 //do nums2
    16             }else if(j==nums2.length){
    17                 //do nums1
    18                  for(;i!=nums1.length;i++){
    19                     nums3[k++] = nums1[i];
    20                 }
    21             }else{
    22                 if(nums1[i]<nums2[j]){
    23                     nums3[k++]=nums1[i++];
    24                 }else{
    25                     nums3[k++]=nums2[j++];
    26                 }
    27             }
    28         }
    29         return (nums3[index01]+nums3[index02])/2.0;
    30         
    31         
    32     }
    33 }

    结果:

    我吃惊了,第一次居然就通过了,问题是这题目的等级是:难。

    第一次提交只是能够将算法实现,时间复杂度不可估计 O(N2)都有。需要继续改进

  • 相关阅读:
    后缀数组模板~~~
    CF 196 Div2 D&&HDU 4679 && HDU 2196
    .......
    ~~~~~
    主站点~~~~
    C++抽象,封装,继承,多态
    查缺补漏知识点(二)
    Qt的简介
    C语言指针及C++引用
    C++单例模式
  • 原文地址:https://www.cnblogs.com/bytecodebuffer/p/11414838.html
Copyright © 2011-2022 走看看