![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分查找
文章平均质量分 55
ZhangyiA*
菜鸟学刷题
展开
-
力扣:搜索旋转排序数组中最小值 (先看)
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如,数组 [ 0 , 1 , 2 , 4 , 5 , 6 , 7 ] 可能变为 [ 4 , 5 , 6 , 7 , 0 , 1 , 2 ] 。请找出其中最小的元素。力扣:153. 寻找旋转排序数组中的最小值题目分析对于在 有序数组 中的搜索问题,优先考虑使用 二分查找 解决这里虽然 进行了旋转 , 但旋转点左右两侧仍然是有序,且 右区间最大值是小于左区间的最小值 , 即 max ( right ) < min ( le原创 2021-03-27 16:33:04 · 145 阅读 · 0 评论 -
力扣:搜索旋转排序数组
题目描述整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]] 。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个整数 target ,原创 2021-03-28 11:13:29 · 188 阅读 · 0 评论 -
力扣:搜索旋转排序数组 II
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。力扣:81. 搜索旋转排序数组II题目分析请参考 搜索旋转排序数组本题的区别在于,数组中有重复元素的出现,需要进行边界压缩 ,核心如下:if(nums[left] == nums[mid]){ left ++; continue;原创 2021-03-28 11:28:09 · 129 阅读 · 0 评论 -
力扣:寻找峰值
题目描述符合下列属性的数组 arr 称为 山脉数组 :arr.length >= 3存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1]给你由整数组成的山脉数组 arr ,返回任何满足 arr[0] < arr[1] < … arr[i原创 2021-03-29 17:01:16 · 138 阅读 · 0 评论 -
力扣:山脉数组中查找目标值
题目描述给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i]转载 2021-04-07 14:19:27 · 137 阅读 · 0 评论