第三章 数组中的问题其实最常见
SIONCIOSC
这个作者很懒,什么都没留下…
展开
-
3-2 数组中常见问题-解决方法-对撞指针
167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15], target = 9 输出: [1,2] ...原创 2020-07-12 19:15:09 · 231 阅读 · 0 评论 -
3-1 从二分查找法看如何写出正确的程序
如何写出正确的程序 设定“循环不变量”,即我们寻找的数据索引一定在该范围中:[l .. r]。 数组中可查找的数据的索引范围为:[0, n-1],前闭后闭。 设置循环结束条件:当 l <= r,区间 [l ... r] 依然是有效的,数组中仅包含一个元素 设置返回条件: arr[mid] == target,返回mid arr[mid] > target,target在 [mid+1 ... r]中 arr[mid] <target,target在 [l ....原创 2020-07-05 20:46:21 · 202 阅读 · 0 评论