Merge Sorted Array
题目链接https://leetcode.com/problems/merge-sorted-array/
这道题是merge sort中merge的过程,有一个trick是从后往前merge,这样可以避免多余的数组操作
class Solution { public: void merge(int A[], int m, int B[], int n) { int i = m - 1, j = n - 1; int len = m + n - 1; while(i >= 0 && j >= 0) { if(A[i] > B[j]) { A[len] = A[i]; i--; } else { A[len] = B[j]; j--; } len--; } while(i >= 0) { A[len] = A[i]; i--; len--; } while(j >= 0) { A[len] = B[j]; j--; len--; } } };
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步