zoukankan      html  css  js  c++  java
  • [Leetcode]88. Merge Sorted Array

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

    Note:
    You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

    (归并两个有序数组)

    思路:从nums1的最后一个位置m+n(nums1给的空间就是这么大)开始填数。将nums1 的第m个元素与nums2的第n 个元素开始做比较,将大的那个放在第m+n的位置

    上,依次类推。

     1 class Solution {
     2     public void merge(int[] nums1, int m, int[] nums2, int n) {
     3         int len = m+n;                  //从这里开始填数
     4         //只要nums1或者nums2里的元素填完了,就差不多OK了   
     5         while(n!=0&&m!=0){    
     6             if (nums1[m-1]>nums2[n-1])
     7                 nums1[--len] = nums1[--m];
     8             else
     9                 nums1[--len] = nums2[--n];
    10         }
    11         //然后可能的情况为m为0或者n为0,n为0可以不用管,因为说明nums2的
    12         //元素都被填到nums1里去了,而nums1里的元素本来就在nums1里。而
    13         //n不为0,则要把nums2剩余的元素都填到nums1里去
    14         if (n>0)
    15             while(--len>=0)   
    16                 nums1[len] = nums2[--n];
    17         }
    18 }
  • 相关阅读:
    jquey 阻止表单提交
    Array.prototype.remove 删除数组元素
    <asp:HiddenField> 控件 实现键值对保存
    jquery实现倒计时
    作业
    第六周作业
    第四周作业
    第二次作业
    2021.3.4(四个题)
    增删改查
  • 原文地址:https://www.cnblogs.com/David-Lin/p/7732736.html
Copyright © 2011-2022 走看看