leetcode week11
来源:互联网 发布:广州淘宝拍摄基地 编辑:程序博客网 时间:2024/05/22 12:52
Given an array of integers sorted in ascending order, find the starting and ending position of a given target value.
Your algorithm's runtime complexity must be in the order of O(log n).
If the target is not found in the array, return [-1, -1]
.
For example,
Given [5, 7, 7, 8, 8, 10]
and target value 8,
return [3, 4]
.
问题描述:给定从小到大的数组,找出给定值的位置。要求复杂度是O(log n),可以看出要用二分法。
解题思路:利用二分法,先找出target所在的位置。由于题目要求的是找出target的范围,因此找出之后再判断两边是不是一样的数,直到找出最左target与最右target的index。
class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { int L=0, R=nums.size()-1; if(nums.size() == 0) return {-1, -1}; while(L<R){ int M = (L+R)/2; if(nums[M]<target) L = M+1; else R = M; } if(nums[L] != target) return {-1, -1}; int left = L, right = L; while(nums[left] == nums[left - 1] && left > 0) left--; while(nums[right] == nums[right + 1] && right < nums.size() - 1) right++; return {left, right}; }};
0 0
- Leetcode Week11
- leetcode week11
- Leetcode Week11
- LeetCode Week11: Burst Ballons
- LeetCode题解 week11
- Leetcode: 43.Multiply Strings(Week11, Medium)
- week11-leetcode #451-Sort-Characters-By-Frequency
- 算法设计Week11 LeetCode Algorithms Problem #303 Range Sum Query
- [LeetCode-Algorithms-48] "Rotate Image" (2017.11.16-WEEK11)
- LeetCode#238 Product of Array Except Self (week11)
- week6-week11
- Algorithm-week11
- 算法Week11.01 - LeetCode 452. Minimum Number of Arrows to Burst Balloons
- 算法设计Week11 LeetCode Algorithms Problem #304 Range Sum Query 2D
- [LeetCode-Algorithms-19] "Remove Nth Node From End of List" (2017.11.16-WEEK11)
- C程序设计Week11作业
- No11.week11 maxSubArray
- sql server code week11
- Linux下源码编译安装配置SVN服务器
- 把数组排成最小的数(Java实现)
- C++抽象编程——回溯算法(1)——迷宫问题
- 《数据结构与算法》--快速排序及插入排序
- Android基础入门
- leetcode week11
- C++ 涉及到位域的sizeof
- webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
- 硬盘转速和平均寻道时间
- 基于 Python 的数据结构与算法分析学习记录(6-10)—— 二叉堆实现
- 深入理解sdram之寄存器配置
- HDU1864-最大报销额-题意有问题-浙大计算机研究生复试上机考试-2007年
- 整合VMware与OpenStack—镜像驱动的实现原理
- Thinkphp 关联查询 详解 简单而方便的理解关联查询