NC22 合并两个有序的数组
NC22 合并两个有序的数组
- 1、题目描述:
- 2、题目链接:
https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665?tpId=117&&tqId=34943&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking
-3、 设计思想:
详细操作流程看下图:
-5、代码:
c++版本:
class Solution {
public:
void merge(int A[], int m, int B[], int n) {
//因为题目明确说了A数组足够大,所以直接在A数组操作
int i = m - 1;
int j = n - 1;
int index = m + n - 1;//AB合并后最后一个元素所在位置
while(i >= 0 && j>= 0)//AB合并,谁大就先放谁
A[index --] = A[i] > B[j] ? A[i --] : B[j --];
while(j >= 0)//如果B没有遍历完,那么之间丢在A数组里面
A[index--] = B[j --];
}
};
Java版本:
public class Solution {
public v
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
Java岗位面试真题宝典 文章被收录于专栏
本面试宝典均来自校招面试题目大数据进行的整理

