Python算法——合并有序数组

while...else...用法

注意索引锁定位置

import time

start = time.time()
arr1 = [1, 3, 4, 6, 10]
arr2 = [2, 5, 8, 11]
ans = arr1.copy()
ind = 0
for i in range(len(arr2)):
	while ind < len(arr1):
		if arr2[i] < arr1[ind]:
			arr1.insert(ind+i, arr2[i])  # 已经插入了i个,所以索引增加i
			break
		else:
			ind += 1
	else:               # while...else...如果while跳出,是因为条件false(ind>=len)执行else
		ans = ans + arr2[i:]
print(ans)
print(time.time()-start)
发布了52 篇原创文章 · 获赞 21 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/zhr1030635594/article/details/102773522