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)
本文深入探讨了使用while...else...结构进行数组高效合并的方法,通过实例代码展示了如何在Python中利用该语法实现两个有序数组的合并,特别关注了索引定位与元素插入的细节。
113

被折叠的 条评论
为什么被折叠?



