about summary refs log tree commit diff
path: root/scratch/facebook/interview-cake/merge-sorted-arrays.py
blob: 877bb218fdf5428047dba4156319d95ad00c8a20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def merge_sorted(xs, ys):
    result = []
    i = 0
    j = 0
    while i < len(xs) and j < len(ys):
        if xs[i] <= ys[j]:
            result.append(xs[i])
            i += 1
        else:
            result.append(ys[j])
            j += 1
    while i < len(xs):
        result.append(xs[i])
        i += 1
    while j < len(xs):
        result.append(ys[j])
        j += 1
    return result

################################################################################
# Tests
################################################################################

xs = [3, 4, 6, 10, 11, 15]
ys = [1, 5, 8, 12, 14, 19]
result = merge_sorted(xs, ys)
print(result)
assert len(result) == len(xs) + len(ys)
assert result == [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 15, 19]
print("Success!")