Skip to content

Commit 112beef

Browse files
committed
fix sm
1 parent 786567d commit 112beef

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

Algorithm/sort/merge/merge-sort.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,12 @@ def merge(left, right):
1010
merged = []
1111

1212
while left and right:
13-
merged.append(left.pop(0) if left[0] <= right[0] else right.pop(0))
13+
merged.append(left.pop(0) if left[0] <= right[0]
14+
else right.pop(0))
1415

15-
while left:
16-
merged.append(left.pop(0))
16+
return merged + (left or right)
1717

18-
while right:
19-
merged.append(right.pop(0))
20-
21-
return merged
22-
23-
mid = int(len(L) / 2)
18+
mid = len(L) // 2
2419
left = merge_sort(L[:mid])
2520
right = merge_sort(L[mid:])
2621
return merge(left, right)

Algorithm/sort/merge/merge-sort1.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
88
merge(*iterables, key=None, reverse=False)
99
Merge multiple sorted inputs into a single sorted output.
10-
10+
1111
Similar to sorted(itertools.chain(*iterables)) but returns a generator,
1212
does not pull the data into memory all at once, and assumes that each of
1313
the input streams is already sorted (smallest to largest).
14-
14+
1515
>>> list(merge([1,3,5,7], [0,2,4,8], [5,10,15,20], [], [25]))
1616
[0, 1, 2, 3, 4, 5, 5, 7, 8, 10, 15, 20, 25]
17-
17+
1818
If *key* is not None, applies a key function to each element to determine
1919
its sort order.
20-
20+
2121
>>> list(merge(['dog', 'horse'], ['cat', 'fish', 'kangaroo'], key=len))
2222
['dog', 'cat', 'fish', 'horse', 'kangaroo']
2323
'''
@@ -27,7 +27,7 @@ def merge_sort(L):
2727
if len(L) < 2:
2828
return L
2929

30-
mid = int(len(L) / 2)
30+
mid = len(L) // 2
3131
left = merge_sort(L[:mid])
3232
right = merge_sort(L[mid:])
3333
return list(merge(left, right))

Algorithm/sort/merge/merge-sort2.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# coding=utf-8
2+
# 性能更好
23
from random import randrange
34

45

0 commit comments

Comments
 (0)