二分查找
LeetCode:704 ![[Pasted image 20261028100913.png]] 前提: 数组为有序数组 数组中无重复元素 注意: 二分查找涉及很多边界条件 要想清楚对区间的定义,区间定义就是不变量 二分查找过程中,保持不变量,遵守循环不变量规则 区间定义分为两种:左闭右闭或左闭右开 **第一种区间:定义target在[left, right]区间,有如下两点:** w
LeetCode:704 ![[Pasted image 20261028100913.png]] 前提: 数组为有序数组 数组中无重复元素 注意: 二分查找涉及很多边界条件 要想清楚对区间的定义,区间定义就是不变量 二分查找过程中,保持不变量,遵守循环不变量规则 区间定义分为两种:左闭右闭或左闭右开 **第一种区间:定义target在[left, right]区间,有如下两点:** w
数组是存放在连续内存空间上的相同类型数据的集合: 注意: 数组内存空间的地址是连续的 数组下标都是从0开始的。 因为数组在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。 数组的元素是不能删的,只能覆盖。 C++中的二维数组在地址空间上是连续的java不是连续的,所以java的二维数组可能用的是链表