博客
关于我
【LeetCode】88. 合并两个有序数组
阅读量:481 次
发布时间:2019-03-06

本文共 742 字,大约阅读时间需要 2 分钟。

88. 合并两个有序数组

给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。

 

思路:这题其实主要运用归并排序中归并这一操作。依次从两个数组尾部比较各自最大的元素,将最大的元素放到数组1的尾部。

注意:主要看懂while循环里面从后往前的操作。其实也可以理解为双指针,两个指针分别指向两个数组最大的元素,然后进行移动。

#include 
#include
using namespace std;class Solution {public: void merge(vector
& nums1, int m, vector
& nums2, int n) { int p = m + n - 1; //索引 m = m - 1; n = n - 1; while (m >= 0 && n >= 0) { //依次将最大的元素放到数组尾部 nums1[p--] = nums1[m] > nums2[n] ? nums1[m--] : nums2[n--]; } while (n >= 0) { //防止数组2中还有剩余的元素 nums1[p--] = nums2[n--]; } }};

 

转载地址:http://ylpdz.baihongyu.com/

你可能感兴趣的文章
mariadb multi-source replication(mariadb多主复制)
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>
ms sql server 2008 sp2更新异常
查看>>
MS UC 2013-0-Prepare Tool
查看>>
msbuild发布web应用程序
查看>>
MSCRM调用外部JS文件
查看>>
MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
查看>>
msf
查看>>
MSSQL数据库查询优化(一)
查看>>