lintcode:合并排序数组 II
2024-08-26 05:06:04
题目:
合并两个排序的整数数组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
最新文章
- 自制Azure中国版“加血包”
- 如何获取SQL Server数据库元数据的方法
- C语言初学 判断闰年的问题
- What does cmd /C mean? [closed] 关于nodejs的子进程部分
- XenCenter注册码一年申请
- android-学习1 配置环境
- 使用libpcap获取http报文
- Kubernetes之RBAC
- django.db.utils.OperationalError: (1049, ";Unknown database &#39;djangodb&#39;";)
- 简易版AC自动机
- mui项目中如何使用原生JavaScript代替jquery来操作dom
- SEM(搜索引擎营销)
- 移动web开发(一)——移动web开发必备知识
- Git工作区、暂存区和版本库
- 解决oninput在输入中文时,会获取拼音的问题
- [SQLServer] 数据库SA用户被锁定或者忘记密码的恢复
- sass / scss
- 《转》python学习(3)
- eclipse插件SCON的SConscript文件和头文件以及C文件包含路径
- krpano之语音介绍
热门文章
- TCP协议承载的DNS报文,DNS报文首部前多出两个字节的DNS报文长度字段,是何意义?
- JavaScript 内部对象
- ORACLE 基础知识积累
- 利用Jmeter做接口测试
- How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem
- hdu 5769 Substring 后缀数组 + KMP
- layout_weight体验(实现按比例显示)
- matlab实现雅可比、高斯塞德尔、后项误差计算
- UML类图总结
- 微软职位内部推荐-Senior Dev Lead