zoukankan      html  css  js  c++  java
  • Leetcode 88. 合并两个有序数组

    给定两个有序整数数组 nums1 nums2,将 nums2 合并到 nums1 使得 num1 成为一个有序数组。

    说明:

    • 初始化 nums1nums2 的元素数量分别为 mn
    • 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。

    示例:

    输入:
    nums1 = [1,2,3,0,0,0], m = 3
    nums2 = [2,5,6],       n = 3
    
    输出: [1,2,2,3,5,6]

    思路:归并排序
    用一个指针指向数组1,一个指针指向数组2
    如果nums1[i]<nums2[j]
    就把数组1的扔到ans里面,反之则把2的扔到ans里面
    跑完之后,再把剩下的扔到ans里面
     1 void merge(int[] nums1, int m, int[] nums2, int n) {
     2         int i=0,j=0;
     3         int cou=0;
     4         int [] ans =new int [m+n]; 
     5         while(i<m&&j<n)
     6         {
     7             if(nums1[i]<nums2[j])
     8             {
     9                 ans[cou++]=nums1[i];
    10                 i++;
    11             }
    12             else {
    13                 ans[cou++]=nums2[j];
    14                 j++;
    15             }
    16         }
    17         if(i!=m)
    18         {
    19             while(i<m)
    20                 ans[cou++]=nums1[i++];
    21         }
    22         if(j!=n)
    23         {
    24             while(j<n)
    25                 ans[cou++]=nums2[j++];
    26         }
    27         
    28         for(i=0;i<nums1.length;i++)
    29             nums1[i]=ans[i];
    30         
    31     }
    View Code
  • 相关阅读:
    32 renren-fast-vue安装报错问题
    31 element自定义图片上传
    30 图片预览
    29 element-table样式更改
    28 ant-design-vue-jeecg运行报错问题
    27 mysql8安装
    25 mybatis-plus常用语法
    24 element表单校验
    23 鼠标移入移出更换样式
    22 初识mysql外键
  • 原文地址:https://www.cnblogs.com/tijie/p/9975241.html
Copyright © 2011-2022 走看看