25_03_14 & 25_03_15 二分听课笔记
int 最大值:2^31-1 ~ 2e9,所以有的时候int cnt 不够计数了,要换成更牛逼的类型:long long int cnt 大小为:1e18;
二分的使用前提是排序!!!,如果答案不对很可能是忘记了排序
看题没思路尽量先暴力枚举
二分答案中定义check的蓝色区间为满足条件的区间,红色区间为不满足条件的区间,根据模型分为“最小值里找最大值”(满足条件里最小的值:l)和“最大值里找最小值”(不满足条件里最大的值:r)
二分答案中r与l的含义究竟是索引还是答案本身,传入check的究竟是mid还是nums[mid] ?
l与r请严格遵守二分法的规则
不要把i迭代放在for里,
for(int i = 0;i<size;){
i++;
}
这会导致范围变成了1 ~size ,然后访问[size]的时候出现越界错误
抽象出这样一个模型

总结:讲的很好,二分答案的含义清晰明了

浙公网安备 33010602011771号