力扣-88-合并两个有序数组
本来觉得很简单,然后准备提交了发现要在数组1里面合并,没有额外空间
然后就有了一个大胆的想法——我直接插进去然后sort
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { // 逆向双指针 int p1 = m - 1, p2 = n - 1, index = m + n - 1; while (p1 >= 0 || p2 >= 0) { if (p1 == -1) nums1[index--] = nums2[p2--]; else if (p2 == -1) nums1[index--] = nums1[p1--]; else if (nums1[p1] > nums2[p2]) nums1[index--] = nums1[p1--]; else nums1[index--] = nums2[p2--]; } } };
时间都没过50%,老哥们还能写出多快速简单的解法
我感觉都忘了双指针怎么写,或者说,没写过这种双指针
本文作者:YaosGHC
本文链接:https://www.cnblogs.com/yaocy/p/16589020.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步