首页 技术 正文
技术 2022年11月19日
0 收藏 958 点赞 2,434 浏览 592 个字

leecode第八十八题(合并两个有序数组)

class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
if(n==)
return;
if(m==)
{
for(int i=;i<n;i++)
nums1[i]=nums2[i];//不用push_back是因为这nums1后面有0
return;
} for(int i=;i<n;i++)//先把它复制过来
nums1[m+i]=nums2[i]; int j=;
for(int i=;i<n;i++)
{
while(nums1[j]<=nums1[m+i] && j<m+i)//判断复制过来的数字(第m位开始)是不是符合排序的
j++;
if(j==m+i)//符合,退出
break;
int temp=nums1[m+i];//不符合,从那个大于它的数开始到它的位置,整体后移一位,并把它插入前面
for(int k=m+i;k>j;k--)
nums1[k]=nums1[k-];
nums1[j]=temp;
}
}
};

分析:

神仙题目啊,直接复制过来写个sort()就完了(我看那评论区很多人都这么做的),我一开始不知道后面是补零的,还想着用迭代器去做,然后就是一堆报错啥的,后来所幸直接当排序题做了,这里用的是插入排序,因为相对来说这个比较简单,前后是两个排序好的数组,最差的情况就是后面的那个最小值大于前面的最大值。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,075
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,551
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,399
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,811
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,893