![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法——二分查找
杨小帆_
沉下心来做技术
展开
-
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置
题目:34. 在排序数组中查找元素的第一个和最后一个位置类型:二分查找给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出:...原创 2019-02-03 19:31:08 · 164 阅读 · 0 评论 -
LeetCode 33. 搜索旋转排序数组
题目:33. 搜索旋转排序数组类型:二分查找假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:...原创 2019-02-03 16:34:31 · 168 阅读 · 0 评论 -
LeetCode 69. x 的平方根
题目:69. x 的平方根类型:二分查找实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解...原创 2019-02-10 10:38:41 · 413 阅读 · 0 评论 -
LeetCode 153. 寻找旋转排序数组中的最小值
题目:153. 寻找旋转排序数组中的最小值类型:二分查找假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2]输出: 1示例 2:输入: [4,5,6,7,0,1,2]...原创 2019-02-11 09:43:14 · 383 阅读 · 0 评论 -
LeetCode 154. 寻找旋转排序数组中的最小值 II
题目:154. 寻找旋转排序数组中的最小值 II类型:二分查找假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。示例 1:输入: [1,3,5]输出: 1示例 2:输入: [2,2,2,0,1]输出: 0...原创 2019-02-11 10:11:39 · 361 阅读 · 0 评论 -
LeetCode 162. 寻找峰值
题目:162. 寻找峰值类型:二分查找峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释...原创 2019-02-11 11:02:41 · 304 阅读 · 0 评论