Leetcode : 面试题 10.01. 合并排序的数组

思路:设定两个指针ptrA和ptrB,遍历两个数组比较,对A数组进行修改;

A.insert添加,最后进行A.erase删除多余元素,提醒,数组长度提前记录一下,方便后续删除

#include <iostream>
#include <vector>

using namespace std;

class Solution {
public:
    void merge(vector<int>& A, int m, vector<int>& B, int n) {
        int ptr_A = 0;
        int ptr_B = 0;
        int length = m + n;
        for (; ptr_B < n && ptr_A < m; ptr_A++){
            if (A[ptr_A] > B[ptr_B]){
                A.insert(A.begin() + ptr_A, B[ptr_B]);
                m++;
                ptr_B++;
            }
            else
                continue;
        }
        if (ptr_B < n)
            A.insert(A.begin()+m, B.begin() + ptr_B, B.end());
        A.erase(A.begin() + length, A.end());
    }
};

int main(){
    Solution s;
    vector<int> A = {1,2,3,0,0,0};
    vector<int> B = {2,5,6};
    s.merge(A, 3, B, 3);
    for (auto i : A)
        cout << i << " ";
    return 0;
}

相关推荐

  1. 面试 25. 合并两个排序链表

    2024-03-13 16:20:02       20 阅读
  2. LeetCode-热100:56. 合并区间

    2024-03-13 16:20:02       39 阅读
  3. 剑指offer面试17 合并俩个排序列表

    2024-03-13 16:20:02       49 阅读
  4. LeetCode 面试经典150 88.合并两个有序数组

    2024-03-13 16:20:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 16:20:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 16:20:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 16:20:02       82 阅读
  4. Python语言-面向对象

    2024-03-13 16:20:02       91 阅读

热门阅读

  1. 经典面试题HTTP请求主要有以下几种方式

    2024-03-13 16:20:02       45 阅读
  2. vue虚拟DOM的简答

    2024-03-13 16:20:02       44 阅读
  3. Mysql索引两种排序方式分析

    2024-03-13 16:20:02       48 阅读
  4. Mybatis-plus神技:公共字段填充

    2024-03-13 16:20:02       41 阅读
  5. 安卓kotlin面试题 91-100

    2024-03-13 16:20:02       34 阅读