git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			800 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			800 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| def merge_sorted(xs, ys):
 | |
|     result = []
 | |
|     i, j = 0, 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(ys):
 | |
|         result.append(ys[j])
 | |
|         j += 1
 | |
| 
 | |
|     return result
 | |
| 
 | |
| # A
 | |
| result = merge_sorted([3, 4, 6, 10, 11, 15], [1, 5, 8, 12, 14, 19])
 | |
| print(result)
 | |
| assert result == [1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 15, 19]
 | |
| 
 | |
| # B
 | |
| result = merge_sorted([], [1,2,3])
 | |
| print(result)
 | |
| assert result == [1,2,3]
 | |
| 
 | |
| # C
 | |
| result = merge_sorted([1,2,3], [])
 | |
| print(result)
 | |
| assert result == [1,2,3]
 | |
| 
 | |
| # D
 | |
| result = merge_sorted([], [])
 | |
| print(result)
 | |
| assert result == []
 | |
| 
 | |
| # Wahoo!
 | |
| print("Success!")
 |