merge-sorted-array-leetcode-C++

原创 2016年08月29日 21:31:51

题目:

Given two sorted integer arrays A and B, merge B into A as one sorted array.

Note:
You may assume that A has enough space to hold additional elements from B. The number of elements initialized in A and B arem and n respectively.

//思路:为了不另外开辟空间,可以从右向左进行归并,类似与剑指offer中的先计算出末尾元素的位置loc,然后
//进行归并排序

贴上AC代码如下:

class Solution {
public:
    //思路:为了不另外开辟空间,可以从右向左进行归并,类似与剑指offer中的先计算出末尾元素的位置loc,然后
    //进行归并排序
    void merge(int a[], int m, int b[], int n) {
        if(n==0)
            return;
        if(m==0)
        {
            for(int i=0;i<n;i++)
                a[i]=b[i];
            return;
        }
        int i=m-1;
        int j=n-1;
        int loc=m+n-1;
        while(i>=0 && j>=0)//保证两个数组都没有归并完成
        {
            if(a[i]>=b[j])
            {
                a[loc--]=a[i--];
            }
            else
            {
                a[loc--]=b[j--];
            }
        }
        //如果最后是剩下的a中元素,则直接返回,如果是B中的元素则需要将元素全部移动到a中
        if(j>=0)//注意j可以等于0,因为这时候b中剩下一个元素
        {
            for(int k=0;k<=j;k++)
            {
                a[k]=b[k];
            } 
        }
    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeetCode 88 — Merge Sorted Array(C++ Java Python)

题目:http://oj.leetcode.com/problems/merge-sorted-array/ Given two sorted integer arrays A and B, mer...

【leetcode c++】88 Merge Sorted Array

Merge Sorted Array Given two sorted integer arrays nums1 andnums2, merge nums2 into nums1 as one sor...
  • hqq39
  • hqq39
  • 2015-07-27 14:27
  • 735

(数组)leetcode 88:Merge Sorted Array

(数组)leetcode 88:Merge Sorted Array

LeetCode 之 Merge Sorted Array

原题: Given two sorted integer arrays A and B, merge B into A as one sorted array. 合并两个有序的数列前面有一个是链表...

LeetCode 88. Merge Sorted Array 归并的过程

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. 题意:对于...

[LeetCode]--88. Merge Sorted Array

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

[leetcode]88. Merge Sorted Array (java)

题目描述: Merge two sorted linked lists and return it as a new list. The new list should be made by sp...

Leetcode 88. Merge Sorted Array

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

LeetCode题解:Merge Sorted Array

题目链接: merge-sorted-array 题目描述: Give two sorted integer arrays nums1 and nums2. merge nums2...

leetcode88---Merge Sorted Array(合并有序数组)

问题描述:Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Not...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)