LeetCode之旅(27)
来源:互联网 发布:js中给文本框赋值 编辑:程序博客网 时间:2024/06/03 16:49
Merge Sorted Array
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 arem and n respectively.
考虑从后往前合并,就不需要考虑数据移动的问题了,开始没想到这一点,看了别人的博客才想到的,挺巧妙
我的:
class Solution {public: void merge(int A[], int m, int B[], int n) { if (!n) return; int l=0, r=0; while (l<m) { if (A[l] > B[r]) { swap(A[l], B[r]); for (int i=r; i<n-1; i++) if (B[i]>B[i+1]) swap(B[i], B[i+1]); else break; } else l++; } for (int i=0; i<n; i++) A[m+i] = B[i]; }};
别人的:
class Solution {public: void merge(int A[], int m, int B[], int n) { int index = m + n - 1; int aIndex = m - 1; int bIndex = n - 1; while (0 <= aIndex && 0 <= bIndex) { if (B[bIndex] > A[aIndex]) A[index--] = B[bIndex--]; else A[index--] = A[aIndex--]; } while (0 <= aIndex) A[index--] = A[aIndex--]; while(0 <= bIndex) A[index--] = B[bIndex--]; }};
0 0
- LeetCode之旅(27)
- LeetCode之旅(2)
- LeetCode之旅(3)
- LeetCode之旅(4)
- LeetCode之旅(5)
- LeetCode之旅(6)
- LeetCode之旅(7)
- LeetCode之旅(8)
- LeetCode之旅(9)
- LeetCode之旅(10)
- LeetCode之旅(12)
- LeetCode之旅(13)
- LeetCode之旅(14)
- LeetCode之旅(15)
- LeetCode之旅(16)
- LeetCode之旅(17)
- LeetCode之旅(18)
- LeetCode之旅(19)
- 利用ant脚本 自动构建svn全量/增量/减量 项目升级包
- hdu 4506 小明系列故事——师兄帮帮忙(快速幂入门)
- python第二部分:python脚本生成静态页面
- 浙大PAT考试1077~1080(2014上机复试题目)
- The Counting Problem - POJ 2282 数位dp
- LeetCode之旅(27)
- centos 修改host
- soj1001. Alphacode简单动规
- java反射类main方法
- Linux挂载windows的共享文件夹
- 阿里巴巴2014研发实习生笔试解析
- 深度学习深度信念网络DBNs—简易详解
- C++构建队列
- 传智播客学习有感