- 博客(2)
- 收藏
- 关注
原创 leetcode1385题 两个数组间的距离值
本文讨论了如何计算两个数组间的距离值,即统计 arr1 中满足对 arr2 所有元素 y 均有 |x - y| > d 的元素 x 的个数。核心思路是将条件转化为判断 arr2 中是否存在元素落在区间 [x-d, x+d] 内。提供了两种解法:暴力枚举(时间复杂度 O(n×m))和排序后二分查找(时间复杂度 O(m log m + n log m))。二分法通过升序排序 arr2 并使用 lower_bound 优化查找效率。代码实现展示了两种方法,并指出易错点包括排序前提和迭代器处理。最终总结提出条件转换
2026-08-01 21:07:46
216
原创 leetcode34题 在排序数组中查找元素的第一个和最后一个位置
本文介绍了在排序数组中查找目标元素起始和结束位置的三种二分查找解法。题目要求时间复杂度为O(log n),通过两次二分分别定位左边界(第一个>=target的位置)和右边界(最后一个<=target的位置)。三种解法区别在于区间定义:闭区间[l,r]、左闭右开[l,r)和开区间(l,r),但核心逻辑相同——维护循环不变量确保答案始终在候选范围内。当目标不存在时返回[-1,-1]。复杂度分析显示所有解法均为O(log n)时间复杂度和O(1)空间复杂度。
2026-07-31 19:48:38
306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅