![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分查找
二分查找法
zwh1298454060
在一家自动驾驶领域的公司做中间件,希望我在CSDN记录自己的学习过程,也希望能够见证自己在技术上的成长。
展开
-
【Leetcode刷题】【二分查找】
本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。而且,我们就是要深入细节,比如不等号是否应该带等号,mid 是否应该加一等等。分析这些细节的差异以及出现这些差异的原因,保证你能灵活准确地写出正确的二分查找算法。原创 2023-10-30 19:37:32 · 39 阅读 · 0 评论 -
【Leetcode刷题】【二分查找】
解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。解释:n = 9,因为有 9 个数字,所以所有的数字都在范围 [0,9] 内。解释:n = 1,因为有 1 个数字,所以所有的数字都在范围 [0,1] 内。给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。输入:nums = [9,6,4,2,3,5,7,0,1]原创 2023-10-25 11:11:15 · 33 阅读 · 1 评论 -
【Leetcode刷题】【二分查找】
给你一个非负整数 x ,计算并返回 x 的 算术平方根。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5。解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。这也是一道比较典型的二分查找法求解。原创 2023-10-25 11:04:41 · 41 阅读 · 1 评论 -
【Leetcode刷题】【二分查找】
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。这是一个比较典型的二分法,可以说不加任何修饰的。常规思路的话很好想,就是一次遍历。要想时间复杂度低一些,那还是得用二分法。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。原创 2023-10-24 23:34:10 · 23 阅读 · 0 评论