摘要: tips: 1.二分查找并不一定需要单调性 2.如果有单调性,一定可以二分,可以二分的不一定非有单调性 3.二分的本质是每一次循环需要选择答案所在的区间,即更新l, r两个坐标 整数二分 对于整数二分,有两种方法,分别适用于两个不同的情况,即想找到红色线的蓝圈还是绿色线的蓝圈 如果想找红色线的蓝圈, 阅读全文
posted @ 2019-07-08 19:28 roov 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 快排:先排再递归 归并:先递归再排 1. 确定分界点 左右两边的一半 mid = (l + r) . 2 2. 递归排序left, right 3. 归并,将两个有序的合二为一 复杂度分析 算法:双指针 1. 初始化 2. 比较i,j所指元素 取出i所指元素,i++ res = [1] 3. 比较i 阅读全文
posted @ 2019-07-08 02:09 roov 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 1. 确定分界点 取左边界,取中值,取右边界,随机取 2. 根据分界点将区间分为两半,左边所有的数都小于等于x,右边所有的数都大于等于x 3. 递归处理左右两端 一种方法:利用额外空间 1. a[], b[] 2 在q[l~r]里面, q[i] <= x --> x -> a[] q[i] >= x 阅读全文
posted @ 2019-07-08 01:48 roov 阅读(10) 评论(0) 推荐(0) 编辑