carl刷题day1
上面代码中有三个细节,一个是target小于数组中最小值的情况,一个是两个int类型相加可能大于int的最大值,需要做防止溢出处理,最有一个是除2可以用位运算更快。这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件。写二分法,区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)。数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。
原创
2024-01-24 23:44:46 ·
329 阅读 ·
0 评论