上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.4 本章小结
本章详细讨论了一种基础的数据结构——数组。由于数组中的元素在内存中的地址是连续的,因此只需要使用O(1)的时间就可以随机访问数组中的任意元素。
双指针是解决与数组相关的面试题的一种常用技术。如果数组是排序的,那么应用双指针技术就能够用O(n)的时间在数组中找出两个和为给定值的数字。如果数组中的所有数字都是整数,那么应用双指针技术就可以用O(1)的辅助空间找出和为给定值的子数组。
如果关于子数组的数字之和的面试题并没有限定数组中的所有数字都是正数,那么可以尝试从第1个数字开始累加数组中前面若干数字之和,两个累加的和的差值对应一个子数组的数字之和。这种累加数组中前面若干数字之和的思路,不仅适用于一维数组,还适用于二维数组。