提升个人技能
Endeavor_6
a new fish
展开
-
leetCode33 二分法变换应用-搜索旋转排序数组
一、题目描述 二、解题思路 该数组看成两个有序数组的拼接,不能遍历来找到旋转点的位置(会超时),关键是要明确旋转点与目标值索引的相对位置。分情况讨论如下: nums[left] <= nums[mid]。说明【left~mid】为有序数组,当 nums[left] < target ≤ nums[mid],说明target在[left, mid]区间; nums[left] > nums[mid]。说明旋转点在[left, mid]中间,若: 1)target < nums[mid]原创 2020-05-26 12:37:53 · 146 阅读 · 1 评论 -
leetCode34 二分法经典应用-在排序数组中查找元素的第一个和最后一个位置
题目描述: 解题思路: 1)目标区间下界,其本质:寻找有序序列中第一个满足某条件的元素的位置; 2)目标区间上界,其本质:寻找有序序列中最后一个满足某条件的元素的位置。 重要!!!寻找最后一个满足“条件C”的元素的位置,可以先求第一个满足“条件!C”的元素的位置,然后将该位置减1即可。 而寻找有序序列中“第一个”满足某条件的元素的位置,有固定的解题模板: ...原创 2020-05-25 21:27:42 · 1357 阅读 · 0 评论