首页 > 其他 > 详细

双指针问题

时间:2020-06-08 22:10:16      阅读:30      评论:0      收藏:0      [点我收藏+]

“指针”是编程语言中的一个对象,它存储着一个内存空间的地址,计算机可以通过这个地址找到变量的值。
指针最大的优点在于它可以有效利用零碎的内存空间。

  • 数组合并
  • 二分查找
  • 链表

数组合并

合并有序数组

  通过一个数组中每个元素的下标,找出对应的值,可以将存储这个元素位置的下标值的变量**看作**一个指针。

  使用模拟指针完成两个有序数组的合并
list1 = [1,4,6,8,9]
list2 = [3,7,10,11]

index_ = 0

res = list1.copy()
# print(id(list1))
# print(id(res))

len_1 = len(list1)
len_2 = len(list2)
for i in range(len_2):
    while index_ < len_1:

        # index_ 的范围不能超过数组元素下标的最大值
        if list2[i] <= list1[index_]:
            res.insert(index_ + i, list2[i])
            break
        else:
            index_ += 1
    else:
        res = res + list2[i:]
        break

print(res)

二分查找

双指针问题

原文:https://www.cnblogs.com/JoshuaP/p/13068739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!