Search for a Range
来源:互联网 发布:飞思卡尔单片机入门 编辑:程序博客网 时间:2024/06/06 09:08
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 class Solution { public int[] searchRange(int[] A, int target) { // Start typing your Java solution below // DO NOT write main() function int[] res = new int[2]; res[0] = lowerbound(A,target); res[1] = upperbound(A,target); return res; } public static int upperbound(int[] num, int target){//find last 2,int low=0;int high=num.length - 1;int mid = low + (high-low+1)/2;while(low<high){mid = low + (high-low+1)/2;if(num[mid]<=target){low = mid;} else {high = mid - 1;}} return num[low] == target ? low : -1;}public static int lowerbound(int[] num, int target){//find first 2.int low=0;int high=num.length - 1;int mid = low + (high-low)/2;while(low<high) {mid = low + (high-low)/2;if(num[mid]>=target){high = mid;} else {low = mid + 1;}}return num[high] == target ? high : -1;}}
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
- 微机原理、计算机组成原理与计算机体系结构之间的关系
- Have Fun with Numbers (20)
- android 经典笔记总结
- Shuffling Machine (20)
- opencv-图像细化
- Search for a Range
- Android笔记——date&time(日期时间选择对话框)
- LeetCode-Remove Duplicates from Sorted Array II (删除重复元素,使重复次数最多N次)
- 小知识
- LUA开发工具
- thinkphp 主函数库解读
- 导入Android 项目报错Unable to resolve target 'android-17'
- ie 6 PNG透明
- C# 同步工作站与SQL服务器的时间