Search for a Range
来源:互联网 发布:网站排名优化 编辑:程序博客网 时间:2024/05/15 03:29
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]
.
public int[] searchRange(int[] A, int target) { int left = -1; int right = -1; int low = 0, high = A.length-1; // search left while(low <= high) { int m = low + (high-low)/2; if (A[m] == target) { left = m; high = m-1; } else if (A[m] < target) { low = m+1; } else { high = m-1; } } low = 0; high = A.length-1; // search right while(low <= high) { int m = low + (high-low)/2; if (A[m] == target) { right = m; low = m+1; } else if (A[m] < target) { low = m+1; } else { high = m-1; } } int[] result = new int[2]; result[0] = left; result[1] = right; return result; }
0 0
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range !!!
- Search for a Range
- Search for a Range
- Search For A Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Search for a Range
- Lua快速入门
- 优秀程序员因何而优秀?
- Eclipse中,控制每行最大长度的提示线
- Cocos2d适应屏幕分辨率
- Highcharts之自定义标签
- Search for a Range
- 输入中文日期输出对应的数字格式的日期
- Android 重读官方文档 4 SharedPreferences
- Cocos2d中的CCSprite
- vim学习记录
- python抓取数据步骤
- CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 5.0'
- c++Primer学习笔记之五:变量和基本类型_1
- 乐蛙Lewa OS5卡刷后卡在开机动画进不了桌面的原因