题目:

合并排序数组 II

合并两个排序的整数数组A和B变成一个新的数组。

样例

给出A = [1, 2, 3, empty, empty] B = [4,5]

合并之后A将变成[1,2,3,4,5]

注意

你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。

解题:

这里给的是两个数组,上题给的是ArrayList格式,比较好处理,重新定义一个长度m+n的数组,但是A的数组长度是m+n,可以从后面将元素插入的A数组中

class Solution {
/**
* @param A: sorted integer array A which has m elements,
* but size of A is m+n
* @param B: sorted integer array B which has n elements
* @return: void
*/
public void mergeSortedArray(int[] A, int m, int[] B, int n) {
// write your code here
int k = m + n -1;
m--;
n--;
while(m>=0 && n>=0){
if(A[m] >= B[n]){
A[k--] = A[m--];
}else{
A[k--] = B[n--];
}
}
while(n>=0){
A[k--] = B[n--];
} } }

也可以这样写

class Solution {
/**
* @param A: sorted integer array A which has m elements,
* but size of A is m+n
* @param B: sorted integer array B which has n elements
* @return: void
*/
public void mergeSortedArray(int[] A, int m, int[] B, int n) {
// write your code here
int k = m + n -1;
m--;
n--;
while(k>=0){
if(n<0 || (m>=0 && A[m] >= B[n])){
A[k--] = A[m--];
}else{
A[k--] = B[n--];
}
}
} }

Python程序:

class Solution:
"""
@param A: sorted integer array A which has m elements,
but size of A is m+n
@param B: sorted integer array B which has n elements
@return: void
"""
def mergeSortedArray(self, A, m, B, n):
# write your code here
for i in range(n):
A[m+i] = B[i]
A.sort()
return A

总耗时: 233 ms

最新文章

  1. 自制Azure中国版“加血包”
  2. 如何获取SQL Server数据库元数据的方法
  3. C语言初学 判断闰年的问题
  4. What does cmd /C mean? [closed] 关于nodejs的子进程部分
  5. XenCenter注册码一年申请
  6. android-学习1 配置环境
  7. 使用libpcap获取http报文
  8. Kubernetes之RBAC
  9. django.db.utils.OperationalError: (1049, &quot;Unknown database &#39;djangodb&#39;&quot;)
  10. 简易版AC自动机
  11. mui项目中如何使用原生JavaScript代替jquery来操作dom
  12. SEM(搜索引擎营销)
  13. 移动web开发(一)——移动web开发必备知识
  14. Git工作区、暂存区和版本库
  15. 解决oninput在输入中文时,会获取拼音的问题
  16. [SQLServer] 数据库SA用户被锁定或者忘记密码的恢复
  17. sass / scss
  18. 《转》python学习(3)
  19. eclipse插件SCON的SConscript文件和头文件以及C文件包含路径
  20. krpano之语音介绍

热门文章

  1. TCP协议承载的DNS报文,DNS报文首部前多出两个字节的DNS报文长度字段,是何意义?
  2. JavaScript 内部对象
  3. ORACLE 基础知识积累
  4. 利用Jmeter做接口测试
  5. How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem
  6. hdu 5769 Substring 后缀数组 + KMP
  7. layout_weight体验(实现按比例显示)
  8. matlab实现雅可比、高斯塞德尔、后项误差计算
  9. UML类图总结
  10. 微软职位内部推荐-Senior Dev Lead