LeetCode: Search for a Range
来源:互联网 发布:网络测试仪器 编辑:程序博客网 时间:2024/05/16 19:00
class Solution {
public:
int getMinRange(int A[],int n,int target){
int low=0,hi=n-1,mid;
while(low<=hi){
mid = low+(hi-low)/2;
if(A[mid]<target)
low = mid+1;
else if(A[mid]==target){
if(mid==0||A[mid-1]!=target)
return mid;
else
hi = mid-1;
}
else
hi = mid-1;
}
return -1;
}
int getMaxRange(int A[],int n,int target){
int low=0,hi=n-1,mid;
while(low<=hi){
mid = low+(hi-low)/2;
if(A[mid]<target)
low = mid+1;
else if(A[mid]==target){
if(mid==n-1||A[mid+1]!=target)
return mid;
else
low = mid+1;
}
else
hi = mid-1;
}
return -1;
}
vector<int> searchRange(int A[], int n, int target) {
// Note: The Solution object is instantiated only once and is reused by each test case.
vector<int> ans;
ans.push_back(getMinRange(A,n,target));
ans.push_back(getMaxRange(A,n,target));
return ans;
}
};
public:
int getMinRange(int A[],int n,int target){
int low=0,hi=n-1,mid;
while(low<=hi){
mid = low+(hi-low)/2;
if(A[mid]<target)
low = mid+1;
else if(A[mid]==target){
if(mid==0||A[mid-1]!=target)
return mid;
else
hi = mid-1;
}
else
hi = mid-1;
}
return -1;
}
int getMaxRange(int A[],int n,int target){
int low=0,hi=n-1,mid;
while(low<=hi){
mid = low+(hi-low)/2;
if(A[mid]<target)
low = mid+1;
else if(A[mid]==target){
if(mid==n-1||A[mid+1]!=target)
return mid;
else
low = mid+1;
}
else
hi = mid-1;
}
return -1;
}
vector<int> searchRange(int A[], int n, int target) {
// Note: The Solution object is instantiated only once and is reused by each test case.
vector<int> ans;
ans.push_back(getMinRange(A,n,target));
ans.push_back(getMaxRange(A,n,target));
return ans;
}
};
- LeetCode: Search for a Range
- LeetCode Search for a Range
- [Leetcode] Search for a Range
- LeetCode : Search for a Range
- [LeetCode] Search for a Range
- [Leetcode] Search for a Range
- Leetcode Search for a Range
- [LeetCode]Search for a Range
- LeetCode-Search for a Range
- [leetcode] Search for a Range
- LeetCode - Search for a Range
- Search for a Range leetcode
- LeetCode | Search for a Range
- LeetCode - Search for a Range
- LeetCode: Search for a Range
- leetcode: Search for a Range
- 【leetcode】Search for a Range
- Leetcode: Search for a Range
- 教你永久隐藏你的机密文件
- C++中inline函数
- subArray Related
- ubuntu下安装QT5及QtCreator
- 两道面试题
- LeetCode: Search for a Range
- Oracle DB 用户
- 动态规划入门——Eddy's research II
- 破坏你仇人的电脑(让他电脑里所有程序无法启动)
- ubuntu 主题美化
- 【初学】iOS学习笔记-@property @synthesize oc=_oc
- 算法:冒泡排序法
- 位运算
- OCP-1Z0-052-V8.02-32题