使用O(n)的时间复杂度合并两个数组
来源:互联网 发布:网络传播的缺点 编辑:程序博客网 时间:2024/05/16 04:58
题目描述:
有两个排序数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2,请实现一个函数,把A2中的所有数字插入到A1中并且所有的数字是有序的。
#include<iostream>using namespace std;void Merge(int A1[],int n,int A2[],int m){ int i = n-1; int p = n+m-1; int j = m-1; while(p>i) { if(i>=0&&A1[i]>A2[j]) { A1[p] = A1[i]; p--; i--; }else{ A1[p]=A2[j]; j--; p--; } }}int main(){ int A1[]={11,13,15,17,19,0,0,0,0,0}; int A2[]={2,4,6,8,10}; Merge(A1,5,A2,5); for(int i = 0; i < 10;i++) { cout << A1[i] <<" "; }}
0 0
- 使用O(n)的时间复杂度合并两个数组
- 合并两个排序数组(时间复杂度O(n))
- 合并两个有序链表--实现1+2+3+....+n,时间复杂度为O(1)
- 两个有序数组合并,并求中位数(复杂度为O(m+n))
- 数组中未出现的最小正整数(时间复杂度O(N),空间复杂度O(1))
- 有1,2,…,n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),一次只能交换两个数
- 现有1,2……一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度为O(1),使用交换,而且只能交换两个数
- 现有1,2……一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度为O(1),使用交换,而且只能交换两个数
- 求一个数组的中位数时间复杂度为O(n)
- 数组中重复的数字(剑指offer)+时间复杂度O(n)空间复杂度O(1)的想法
- O(N)时间复杂度、O(1)空间复杂度 构造数组
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 排序一个数组要求时间复杂度为O(N)
- 如何快速找出一个数组中只出现一次的两个数,其他元素出现两次?保证时间复杂度O(n),空间复杂度O(1)
- 返回数组中任意某个重复的数字--时间复杂度O(n)空间复杂度O(1)
- 求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
- Spring整合struts2的action的默认作用域
- event.srcElement.parentElement用法演示
- sql中如何解決 SUM(A) + SUM(B) != SUM (A+B)
- Mysql自动备份策略总结
- Linux下汇编语法和内嵌汇编
- 使用O(n)的时间复杂度合并两个数组
- 线程和String的用法
- [Erlang]巨坑第二弹
- 获得文件的MD5码
- 广西南宁便秘后期症状
- 请不要把痘痘想成不能治愈的病
- 广西南宁肛瘘检查费大约多少钱
- 广西南宁便秘会有什么危害
- 广西南宁便秘是由什么原因引起的