(每日算法)LeetCode -- Merge Sorted Array (合并有序数组)
来源:互联网 发布:人的音域 知乎 编辑:程序博客网 时间:2024/04/30 17:35
Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m andn respectively.
class Solution {public: void merge(int A[], int m, int B[], int n) { int temp[m+n]; int i = 0, j = 0, t = 0; while(i < m && j < n) { if(A[i] < B[j]) temp[t++] = A[i++]; else temp[t++] = B[j++]; } while(i < m) temp[t++] = A[i++]; while(j < n) temp[t++] = B[j++]; while(--t >= 0) A[t] = temp[t]; }};
但是上述题目给定的条件更加灵活,因此可以采用尾插法,这样就不再需要辅助空间的开销,理解上也更加简洁:
class Solution {public: void merge(int A[], int m, int B[], int n) { int ia = m - 1, ib = n - 1, icur = m + n - 1; while(ia >= 0 && ib >= 0) A[icur--] = A[ia] > B[ib] ? A[ia--] : B[ib--]; while(ib >=0) A[icur--] = B[ib--]; }};
0 0
- (每日算法)LeetCode -- Merge Sorted Array (合并有序数组)
- leetcode Merge Sorted Array 合并有序数组
- Merge Sorted Array 合并两个有序数组 @LeetCode
- 【LeetCode】- Merge Sorted Array (合并有序数组).
- [LeetCode-88] Merge Sorted Array(合并有序数组)
- LeetCode Merge Sorted Array(合并有序数组)
- LeetCode 88. Merge Sorted Array(合并有序数组)
- leetcode 88. Merge Sorted Array合并有序数组
- Merge Sorted Array 合并两个有序数组
- Merge Sorted Array -- 合并两个有序数组
- Merge Sorted Array合并两个有序数组
- leetcode88---Merge Sorted Array(合并有序数组)
- 88. Merge Sorted Array 合并有序数组
- leetcode:Merge Sorted Array(合并两个有序数组到其中一个数组中)【面试算法题】
- 【LeetCode】Merge Sorted Array ---合并数组
- [leetcode]Merge Sorted Array (两个有序数组的合并 C语言实现)
- Leetcode刷题记——88. Merge Sorted Array(合并有序数组)
- LeetCode WIith JS || 88. Merge Sorted Array[合并有序数组]
- Objective - C基础: 第一天 - 2. 第3, 4个OC程序 - 多文件编译以及与C文件混编
- spring web flow 随记
- Linux cpufreq 机制了解
- Linux bash 脚本语言
- java线程
- (每日算法)LeetCode -- Merge Sorted Array (合并有序数组)
- Java web----Tomcat配置连接池
- Alex 的 Hadoop 菜鸟教程: 第8课 Hbase 的 java调用方法
- web前端开发规范
- 关于C语言的memset容易出现的问题
- 【将金令】1.12晚评:美国数据引爆多方大举反攻
- python的基本操作(dic)
- Android 图片添加水印图片或者文字
- 成为优秀高级程序员的10个要点