One Day together Leetcode
This series of articles has all been uploaded to my github address: Zeecoder ' s GitHub
You are welcome to follow my Sina Weibo, my Sina Weibo blog
Welcome reprint, Reprint please indicate the source
(i) Title
Given sorted integer Arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
Assume that nums1 have enough space (size that's greater or equal to M + N) to hold additional elements from NUMS2 . The number of elements initialized in >nums1and NUMS2 is M and N respectively.
(ii) Problem solving
Topic: Given two arrays in sequence, the latter array is inserted sequentially into the previous array.
In front of us, we did a list of two ordered lists: "One day together Leetcode" #21. Merge Sorted lists can refer to the procedure.
Because it is an array, can not be inserted as freely as the linked list, and the topic has already stated that the space of the array 1 is greater than or equal to m+n, so you might consider to sort from backward to forward.
The size of the merged array is m+n, which compares the number of tails of two arrays, sequentially filling in from the tail of the new array.
See the code for specific details:
classSolution { Public:voidMerge vector<int>& Nums1,intM vector<int>& Nums2,intN) {if(n==0)return;inti = m1;intj = N1; while(i>=-1&&j>=0)//Here I==-1 represents NUMS1 has been relatively finished, NUMS2 also have{if(i==-1|| NUMS1[I]<NUMS2[J]) nums1[i+j+1] = nums2[j--];//Start the comparison from the end of the array and fill in the end of the new array Elsenums1[i+j+1] = nums1[i--]; } }};
"One Day together Leetcode" #88. Merge Sorted Array