34. Search for a Range
来源:互联网 发布:python snmpgetbulk 编辑:程序博客网 时间:2024/05/20 14:16
Given an array of integers sorted in ascending order, 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[] nums, int target) { int [] res = {-1,-1}; if(nums.length == 0 || nums == null){ return res; } int l = 0; int r = nums.length - 1; int m = 0; while(l <= r){ m = l + (r - l)/2; if(nums[m] == target){ break; } if(nums[m] < target){ l = m + 1; } if(nums[m] > target){ r = m - 1; } } if(nums[m] != target){ return res; } int mid = m; //search for the right bond l = mid; r = nums.length - 1; while(l <= r){ m = l + (r - l)/2; if(nums[m] == target){ l = m + 1; }else{ r = m - 1; } } res[1] = r; //search for the left bond l = 0; r = mid; while(l <= r){ m = l + (r - l)/2; if(nums[m] == target){ r = m - 1; }else{ l = m + 1; } } res[0] = l; return res; }}
0 0
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 1024. Palindromic Number (25)
- Test
- BZOJ 4551([Tjoi2016&Heoi2016]树-倒序并查集)
- Leetcode 67. Add Binary
- Leetcode
- 34. Search for a Range
- Leetcode 13. Roman to Integer
- <Python初学>基本数据str的操作
- 10004UVa二染色
- label for caffe image data layer
- Android设备上的简易备忘录(Memo) 具有闹钟功能
- 1071. Speech Patterns (25)
- Android环境配置
- ambient