Create Target Array in the Given Order LeetCode solution in Python
1class Solution:2def createTargetArray(self, nums, index):34def merge(arr, low, mid, high):5L, R = arr[low : mid + 1], arr[mid + 1 : high + 1]6i = j = 07k = low89while i < len(L) and j < len(R):10if L[i][0] + j >= R[j][0]:11arr[k] = R[j]12j += 113else:14L[i][0] += j15arr[k] = L[i]16i += 117k += 11819while i < len(L):20L[i][0] += j21arr[k] = L[i]22i += 123k += 12425while j < len(R):26arr[k] = R[j]27j += 128k += 12930def mergeSort(arr, low, high):31if low < high:32mid = (low + high) // 233mergeSort(arr, low, mid)34mergeSort(arr, mid + 1, high)35merge(arr, low, mid, high)3637arr = [[index[i], nums[i]] for i in range(len(nums))]38mergeSort(arr, 0, len(nums) - 1)3940for x in arr:41nums[x[0]] = x[1]4243return nums