LeetCode(88) Merge Sorted Array
来源:互联网 发布:java ant zip 编辑:程序博客网 时间:2024/05/16 06:16
题目如下:
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 to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
分析如下:
题目要求不自己另外申请额外的空间的情况下直接把数组B归并放入数组A。如果从左到右依次遍历,这个没法实现这个要求。所以考虑从右到左遍历。
我的代码:
class Solution {public: void merge(int A[], int m, int B[], int n) { int i=m-1,j=n-1; while(j>=0){ if( (i<=-1) || (i>=0&&B[j]>=A[i]) ){ A[i+j+1]=B[j]; j--; }else{ A[i+j+1]=A[i]; i--; } } }};
2014-10-09 update 依然是从右向左进行merge 。可以对比这道题目 merge two sorted list
class Solution {public: void merge(int A[], int m, int B[], int n) { int i = m - 1; int j = n - 1; int k = m + n -1; while (i >=0 && j >= 0) { if (A[i] <= B[j]) { A[k] = B[j]; j--; } else { A[k] = A[i]; i--; } k--; } /*while (i >= 0) { A[k] = A[i]; i--; k--; }*/ while (j >= 0) { A[k] = B[j]; j--; k--; } return ; }};
1 0
- LeetCode(88) Merge Sorted Array
- [leetcode 88] Merge Sorted Array
- LeetCode[88]Merge Sorted Array
- leetcode-88 Merge Sorted Array
- leetcode || 88、Merge Sorted Array
- LeetCode---(88)Merge Sorted Array
- Leetcode[88]-Merge Sorted Array
- leetcode 88 Merge Sorted Array
- leetcode[88]:Merge Sorted Array
- Leetcode #88 Merge Sorted Array
- leetcode 88: Merge Sorted Array
- leetcode: (88) Merge Sorted Array
- [Leetcode]#88 Merge Sorted Array
- 【LeetCode 88 】 Merge Sorted Array
- [leetcode 88]Merge Sorted Array
- leetcode 88:Merge Sorted Array
- 【LeetCode】88 Merge Sorted Array
- LeetCode 88:Merge Sorted Array
- 通过浏览器浏览本机文件夹
- 一个放了很久的网站程序
- streamin
- 外国的搜索引擎 可搜索被封信息
- newfile & write file
- LeetCode(88) Merge Sorted Array
- JSON
- Climbing stairs
- java运行Windows命令
- Set Matrix Zeroes
- coding style
- Merge Sorted Array
- Swap Nodes in Pairs
- Remove Element