leetcode 88 Merge Sorted Array
来源:互联网 发布:mac上pdf软件 编辑:程序博客网 时间:2024/06/06 03:34
leetcode 88 Merge Sorted Array
题目描述:
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2.
The number of elements initialized in nums1 and nums2 are m and n respectively.
分析:
从后往前比较,将每次比较的较大值放入nums1中index所指的位置,这样就避免了反复的数据后移问题。
最坏情况下的时间复杂度O(n+m)。。。
C++代码:
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int index=m+n-1; int index1=m-1; int index2=n-1; while(index1>=0 && index2>=0) { if(nums1[index1]<=nums2[index2]) { nums1[index--]=nums2[index2--]; } else { nums1[index--]=nums1[index1--]; } } while(index2>=0) { nums1[index--]=nums2[index2--]; } }};
Python代码:
class Solution(object): def merge(self, nums1, m, nums2, n): """ :type nums1: List[int] :type m: int :type nums2: List[int] :type n: int :rtype: void Do not return anything, modify nums1 in-place instead. """ index=m+n-1 index1=m-1 index2=n-1 while index1>=0 and index2>=0: if nums1[index1]<=nums2[index2]: nums1[index]=nums2[index2] index-=1 index2-=1 else: nums1[index]=nums1[index1] index-=1 index1-=1 while index2>=0: nums1[index]=nums2[index2] index-=1 index2-=1
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
- 死锁示例程序
- Java基础之(一) 变量
- zookeeper轻松入门
- wait notify notifyAll
- Program4_F
- leetcode 88 Merge Sorted Array
- libuv学习笔记(18)
- ThreadPoolExecutor原理与使用
- java获取项目访问路径的方法
- APP开发实战66-功能级别的BaseActivity设计
- 关于eclipse下连接安卓手机
- 235. Lowest Common Ancestor of a Binary Search Tree
- Java/Android中的DES加密
- [Leetcode]92. Reverse Linked List II