2023-08-13力扣每日一题

链接:

88. 合并两个有序数组

题意:

如题

解:

从后往前(从大到小)插入排序,这样就不会影响原先的有序性

实际代码:

#include
using namespace std;
void merge(vector& nums1, int m, vector& nums2, int n)
{
    int mao=nums1.size()-1;m--,n--;
    while(m>=0&&n>=0)
    {
        if(nums1[m]>nums2[n]) swap(nums1[m--],nums1[mao--]);
        else nums1[mao--]=nums2[n--];
    }
    while(m>=0) swap(nums1[m--],nums1[mao--]);
    while(n>=0) nums1[mao--]=nums2[n--];
}
int main()
{
    return 0;
}

限制:

  • nums1.length == m + n
  • nums2.length == n
  • 0 <= m, n <= 200
  • 1 <= m + n <= 200
  • -109 <= nums1[i], nums2[j] <= 109

你可能感兴趣的:(力扣每日一题,leetcode)