文档章节

给定两个排序后的数组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

没有更多内容

加载失败,请刷新页面

加载更多

10分钟读懂阿里巴巴高级专家在Flutter Live2018的分享

作者:闲鱼技术-宗心 12月4日,google flutter团队宣布第一个flutter正式版本发布。次日,Flutter Live Beijing 会议上,google flutter团队邀请了在这一技术方案中重要的合作伙伴闲鱼团队分...

阿里云官方博客
15分钟前
1
0
RxJava window操作符

原文:https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%204%20-%20Concurrency/3.%20Sequences%20of%20coincidence.md Sequences of coincidence Rx试图避免管道(pipeline)外......

woshixin
22分钟前
1
0
05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》

本期视频实现了博客的详情页面; 内容简介:使用了标签函数layout完成详情功能 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598 作者:GK #标签函数 layo...

Gavin-King
23分钟前
1
0
谷歌浏览器的打印功能

var OpenWindow = window.open(""); OpenWindow.document.write("<HTML>"); OpenWindow.document.write("<HEAD>"); OpenWindow.document.write("<meta http-equiv=......

卖星星的小矮人
23分钟前
1
0
曼哈顿距离(Manhattan Distance )详解

概念 曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南...

hejunbinlan
28分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部