文档章节

给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。将B合并入A并排序

一贱书生
 一贱书生
发布于 2016/11/23 09:09
字数 226
阅读 5
收藏 0

/**
 * 功能:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。将B合并入A并排序。

 */

 

 

  1. /**  
  2.  * 问题:如果将元素插入数组A的前端,就必须将原有的元素向后移动,以腾出空间。  
  3.  * 思路:将元素插入数组A的末端。  
  4.  *   
  5.  * 注意:在处理完B的元素之后,不需要复制A的剩余元素,因为那些元素原本就在A中。  
  6.  * @param a  
  7.  * @param b  
  8.  * @param lastA  
  9.  * @param lastB  
  10.  */  
  11. public static void merge(int[] a,int[] b,int lastA,int lastB){  
  12.     int indexA=lastA-1;  
  13.     int indexB=lastB-1;  
  14.     int indexMerged=lastA+lastB-1;  
  15.       
  16.     while(indexA>=0&&indexB>=0){  
  17.         if(a[indexA]>b[indexB]){  
  18.             a[indexMerged]=a[indexA];  
  19.             indexMerged--;  
  20.             indexA--;  
  21.         }else{  
  22.             a[indexMerged]=a[indexB];  
  23.             indexMerged--;  
  24.             indexB--;  
  25.         }  
  26.     }  
  27.       
  28.     while(indexB>=0){  
  29.         a[indexMerged]=a[indexB];  
  30.         indexMerged--;  
  31.         indexB--;  
  32.     }  
  33.       

© 著作权归作者所有

共有 人打赏支持
一贱书生
粉丝 19
博文 724
码字总数 600123
作品 0
[LeetCode]Merge Sorted Array 合并排序数组

链接:https://leetcode.com/problems/merge-sorted-array/description/ 难度:Easy 题目:88. Merge Sorted Array Given two sorted integer arrays nums1 and nums2, merge nums2 into nu......

繁著
2017/11/30
0
0
Lintcode6 Merge Two Sorted Arrays solution 题解

【题目描述】 Merge two given sorted integer array A and B into a new sorted integer array. 合并两个排序的整数数组A和B变成一个新的数组。 【题目链接】 http://www.lintcode.com/en/p...

coderer
2017/04/15
0
0
Leetcode 排序类题目 排序算法总结

1. Merge Sorted Array Description: Easy Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough......

BookThief
07/27
0
0
合并排序数组

原题   Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.   Note:   You may assume that nums1 has enough space (size that is grea......

一贱书生
2016/12/19
2
0
一些面试题,整理自网络

腾讯面试题:tcp三次握手的过程,accept发生在三次握手哪个阶段? 答accept发生在三次握手之后。 第一次握手:客户端发送syn包(syn=j)到服务器。 第二次握手:服务器收到syn包,必须确认客户...

waveer
2016/12/08
24
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
22分钟前
0
0
现场看路演了!

HiBlock
昨天
4
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
4
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
4
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部