Search for a Range:from LeetCode
来源:互联网 发布:淘宝全球购店铺转让 编辑:程序博客网 时间:2024/06/06 02:15
题目大意:在一个排序数组中找出一个数出现的范围,如果不存在就返回 -1 -1
方法是二分,我的方法是先找到这个数出现的某个位置pt,然后在0-pt间找左边界,在pt-n-1中找右边界
class Solution {public: int findnum(int A[],int low,int high,int num) { if(low>high)return -1; int mid=(low+high)/2; if(A[mid]==num)return mid; if(A[mid]>num)return findnum(A,low,mid-1,num); return findnum(A,mid+1,high,num); }; int findleft(int A[],int low,int high,int num) { if(low>high)return high; if(A[low]==num)return low; int mid=(low+high)/2; if(A[mid]!=num)return findleft(A,mid+1,high,num); return findleft(A,low+1,mid,num); }; int findright(int A[],int low,int high,int num) { if(low>high)return low; if(A[high]==num)return high; int mid=(low+high)/2; if(A[mid]!=num)return findright(A,low,mid-1,num); return findright(A,mid,high-1,num); }; vector<int> searchRange(int A[], int n, int target) { vector<int> result; result.push_back(-1); result.push_back(-1); int pt=findnum(A,0,n-1,target); if(pt==-1)return result; result[0]=findleft(A,0,pt,target); result[1]=findright(A,pt,n-1,target); return result; }};
0 0
- Search for a Range:from 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
- 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
- C语言的比较库函数--qsort
- 游戏开发之路
- Piotr's Image & Video Matlab Toolbox使用
- 用hbase(0.92版本以上)的协处理器实现快速返回查询结果总数
- IT之路的迷茫阶段
- Search for a Range:from LeetCode
- 一部老片《冰雪迷案》观后感
- TCP——基本资料
- html5视频标签
- 数据库异常:无效的授权说明 [ 0x80040e4d ]
- 数据库group_concat连接陷阱(int字段,长度限制)
- nohup
- HBase行数统计
- 2048 源代码