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)都有。需要继续改进

  • 相关阅读:
    最小生成树模板
    字符串模板
    单调队列
    代码优化
    ZJUT11 多校赛补题记录
    树链剖分
    网络基础及网络设备
    交换机介绍及选购全攻略
    将函数的返回值引用定义为引用
    函数指针和指针函数
  • 原文地址:https://www.cnblogs.com/bytecodebuffer/p/11414838.html
Copyright © 2011-2022 走看看