1. 对数器
OJ(online judge)线上测试平台有限,写自己的算法,然后用一个简单的,或者JDK提供的功能进行比对。
2. master公式
2.1 求中值
int mid = (left + right) / 2;
有可能left + right时导致了溢出,优化如下:
int mid = left + (right - left) >> 1;
2.2 递归
类似于采用后续遍历了一棵二叉树,
2.3 递归时间复杂度估算
master公式:
T(N) = a * T(N/b) + O(N^d)
1)当log(b,a) > d时,时间复杂度为O(N^log(b,a))
2)当log(b,a) = d时,时间复杂度为O(N^d * logN)
3)当log(b,a) < d时,时间复杂度为O(N^d)