LeetCode 题解(224) : Merge Sorted Array
来源:互联网 发布:java api 1.8中文在线 编辑:程序博客网 时间:2024/06/15 00:04
题目:
Given two sorted integer arrays nums1 and nums2, merge nums2 intonums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal tom + n) to hold additional elements from nums2. The number of elements initialized innums1 and nums2 are m and n respectively.
有小技巧,假设nums1已经有了m + n的space,任务就是要用nums2和nums1原有的元素去填满这m + n的space。从后比较nums1和nums2,谁大选谁,填在k = m + n - 1的位置,同时k -= 1, 其次,当nums1的元素都用完后,只填nums2的元素。终止条件是nums2的元素全填完。
C++版:
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i = m - 1, j = n - 1, k = m + n - 1; while(j >= 0) { if(nums2[j] >= nums1[i] || i < 0) { nums1[k] = nums2[j]; j--; } else { nums1[k] = nums1[i]; i--; } k--; } }};
Java版:
public class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int i = m - 1, j = n - 1, k = m + n - 1; while(j >= 0) { if(i < 0 || nums2[j] >= nums1[i]) { nums1[k] = nums2[j]; j--; } else { nums1[k] = nums1[i]; i--; } k--; } }}
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. """ i, j, k = m - 1, n - 1, m + n - 1 while j >= 0: if i < 0 or nums2[j] >= nums1[i]: nums1[k] = nums2[j] j -= 1 else: nums1[k] = nums1[i] i -= 1 k -= 1
0 0
- LeetCode 题解(224) : Merge Sorted Array
- LeetCode题解:Merge Sorted Array
- LeetCode题解:Merge Sorted Array
- LeetCode题解:Merge Sorted Array
- LeetCode题解——Merge Sorted Array
- 【LeetCode题解】88. Merge Sorted Array
- leetcode题解-88. Merge Sorted Array
- leetcode题解-88. Merge Sorted Array
- LeetCode: Merge Sorted Array
- [Leetcode] Merge Sorted Array
- [LeetCode] Merge Sorted Array
- [LeetCode]Merge Sorted Array
- [leetcode]Merge Sorted Array
- [Leetcode]Merge Sorted Array
- LeetCode-Merge Sorted Array
- [leetcode] Merge Sorted Array
- LeetCode - Merge Sorted Array
- [LeetCode] Merge Sorted Array
- java 单一登录
- JS监听关闭浏览器事件
- [Index]Search in Rotated Sorted Array series
- [Index]ZigZag Conversion
- Android Api Demos登顶之路(七十七)Graphics-->FingerPaint
- LeetCode 题解(224) : Merge Sorted Array
- LeetCode-Partition List
- Maximal Square
- LeetCode 题解(225) : Remove Duplicates from Sorted List
- LeetCode 题解(226) : Climbing Stairs
- js 计算输入框的字节数
- Solr 5.3安装和使用
- Bit Manipulation
- LeetCode 题解(227) : Add Binary