二分查找
文章平均质量分 87
Tanyongyin
公众号:【程序员小熊】 华为程序员,作者自学计算机,公众号主要分享:各大厂笔试/面试中的高频算法题、编程语言、数据结构与算法和后台开发相关资料。
展开
-
leetcode 34. 在排序数组中查找元素的第一个和最后一个位置
更多精彩文章请关注微信公众号:TanLiuYi00前言今天主要讲解的内容是:如何在已排序的数组中查找元素的第一个和最后一个位置。以 leetcode 34 题作为例题,提供二分查找的解题思路,供大家参考。题目详述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:n原创 2021-02-05 00:54:14 · 304 阅读 · 0 评论 -
字节笔试题 leetcode 69. x 的平方根
题目如下图示: 更多精彩文章请关注微信公众号:TanLiuYi00题目要求非负整数x的平方根,相当于求函数y = √x中...原创 2021-01-02 10:57:19 · 183 阅读 · 0 评论 -
二分查找(折半查找)详解
前提区间(数组或其他)是单调(有序)的。主要思路将区间分成三部分,[low, mid)、[mid, mid](只有一个值即中点 (mid))和 (mid, high] ,比较中点 mid 对应的元素值与目标元素值 target 的大小关系,等于 target,代表找到了,直接返回,否则就在(小于target)前半区间 [low, mid) 或(大于target)后半区间(mid, high] 中查找。具体操作如下:判断区间中点 mid 对应的元素的值是否等于目标元素 target 的值.原创 2020-11-21 03:01:12 · 676 阅读 · 0 评论