I’ve been studying for possible interview questions and one that might come up is to merge sorted array and cut to length k.
I’ve already figured out how to merge the sorted arrays with this Leet code question:
You are given two integer arrays nums1
and nums2
, sorted in non-decreasing order, and two integers m
and n
, representing the number of elements in nums1
and nums2
respectively.
Merge nums1
and nums2
into a single array sorted in non-decreasing order.
The final sorted array should not be returned by the function, but instead be stored inside the array nums1
. To accommodate this, nums1
has a length of m + n
, where the first m
elements denote the elements that should be merged, and the last n
elements are set to 0 and should be ignored. nums2
has a length of n
.
//iterate through the arrays
for (let i = m; i <= m + n; i++) {
//if i in nums1 is equal to 0
if (nums1[i] === 0) {
//if this is true, change the value to nums2
nums1[i] = nums2[i - m];
}
}
//sort the array again
nums1.sort((a, b) => a-b)
};
Haven’t found any specific questions or examples where I would also have to cut to a length of k. Can someone pls help me implement this, given the final sorted array?