博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode: Search for a Range
阅读量:4621 次
发布时间:2019-06-09

本文共 1344 字,大约阅读时间需要 4 分钟。

Search for a Range


 

Given a sorted array of integers, 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].


 

1 class Solution { 2 public: 3     vector
searchRange(int A[], int n, int target) { 4 vector
range(2, -1); 5 int lower = 0; 6 int upper = n; 7 int mid; 8 9 // Search for lower bound10 while (lower < upper) {11 mid = (lower + upper) / 2;12 if (A[mid] < target)13 lower = mid + 1;14 else15 upper = mid;16 }17 18 // If the target is not found, return (-1, -1)19 if (A[lower] != target)20 return range;21 range[0] = lower;22 23 // Search for upper bound24 upper = n;25 while (lower < upper) {26 mid = (lower + upper) / 2;27 if (A[mid] > target)28 upper = mid;29 else30 lower = mid + 1;31 }32 range[1] = upper - 1;33 34 return range;35 }36 };

 

转载于:https://www.cnblogs.com/caijinlong/archive/2013/04/29/3050906.html

你可能感兴趣的文章
使用XV-11激光雷达做hector_slam
查看>>
布局技巧4:使用ViewStub
查看>>
学习记事
查看>>
java 子类重写父类的方法应注意的问题
查看>>
[LevelDB] LevelDB理论基础
查看>>
【codecombat】 试玩全攻略 第一关kithguard地牢
查看>>
【DP】 POJ 1191 棋盘分割 记忆化搜索
查看>>
自动化测试 Appium之Python运行环境搭建 Part2
查看>>
说说DBA职责和目标
查看>>
从头认识Spring-2.4 基于java的标准注解装配-@Inject-限定器@Named
查看>>
sql server 实现多表连接查询
查看>>
Python标准库:内置函数getattr(object, name[, default])
查看>>
转:android 自定义RadioButton样式
查看>>
HTTP请求过程
查看>>
织梦多域名解析到同一个空间导致打开链接不一致怎么办?
查看>>
Xcode10 library not found for -lstdc++ 找不到问题
查看>>
Mysql 8.0.13如何重置密码
查看>>
发布功能完成
查看>>
excel 合并单元格
查看>>
iOS设计模式简介
查看>>