leetcode之O(1)空间复杂度合并俩个数组

来源:互联网 发布:庸才 黑与白一看便知 编辑:程序博客网 时间:2024/04/29 19:06

这个题做得有点怀疑智商了,看了题,感觉题目的意思就是让用O(1)的空间复杂度来做,

但是只想到O(m*n)的时间复杂度的做法,感觉应该不是最优,就直接看答案了,果然不是最优,竟让忘记

倒着把值放入数组,呃,做的有点怀疑智商。

代码:

class Solution {public:    void merge(int A[], int m, int B[], int n) {        int a=m-1,b=n-1,cur=m+n-1;        while(a>=0&&b>=0){            A[cur--]=A[a]>B[b]?A[a--]:B[b--];        }        while(b>=0)            A[cur--]=B[b--];    }};


0 0