Skip to content

Commit 79d8fee

Browse files
authored
Create 0912-sort-an-array.py
1 parent 2a77937 commit 79d8fee

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

python/0912-sort-an-array.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Solution:
2+
def sortArray(self, nums: List[int]) -> List[int]:
3+
def merge(arr, L, M, R):
4+
left, right = arr[L:M+1], arr[M+1:R+1]
5+
i, j, k = L, 0, 0
6+
while j < len(left) and k < len(right):
7+
if left[j] <= right[k]:
8+
arr[i] = left[j]
9+
j += 1
10+
else:
11+
arr[i] = right[k]
12+
k += 1
13+
i += 1
14+
while j < len(left):
15+
nums[i] = left[j]
16+
j += 1
17+
i += 1
18+
while k < len(right):
19+
nums[i] = right[k]
20+
k += 1
21+
i += 1
22+
23+
def mergeSort(arr, l, r):
24+
if l == r:
25+
return arr
26+
m = (l + r) // 2
27+
mergeSort(arr, l, m)
28+
mergeSort(arr, m + 1, r)
29+
merge(arr, l, m, r)
30+
return arr
31+
32+
return mergeSort(nums, 0, len(nums) - 1)

0 commit comments

Comments
 (0)