leetcode 34. Search for a Range
来源:互联网 发布:免费淘宝开店教程视频 编辑:程序博客网 时间:2024/05/18 14:14
import java.util.Stack;//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 static void main(String[] args) {int[] input = {0,0,0};int target = 2;int[] result = searchRange(input,target);System.out.println(result[0]+" "+result[1]);}public static int[] searchRange(int[] nums, int target) { int left = 0; int right = nums.length-1; int[] result = {-1,-1}; while(left<right){//变形的二分查找 int mid = (left+right)/2; if(nums[mid]<target){//提升l的值 left = mid+1; }else if(nums[mid]>=target){//若相等则将r值等于m right = mid; } } if(nums[left] == target){//若nums[l]=target,则匹配,l必为第一次出现的target脚标 result[0] = left; } right = nums.length-1;//left已经确定,只需重新定义right即可 while(left<right){ int mid = (left+right)/2+1; if(nums[mid]>target){ right = mid-1; }else if(nums[mid]<=target){ left = mid; } } if(nums[right] == target){ result[1] = right; } return result; }}
0 0
- [LeetCode]34.Search for a Range
- LeetCode --- 34. Search for a Range
- LeetCode 34.Search for a Range
- [Leetcode] 34. Search for a Range
- [leetcode] 34.Search for a Range
- 【leetcode】34. Search for a Range
- [leetcode] 34. Search for a Range
- Leetcode 34. Search for a Range
- LeetCode 34. Search for a Range
- <LeetCode OJ> 34. Search for a Range
- 34. Search for a Range LeetCode
- [Leetcode]34.Search for a Range
- leetcode 34. Search for a Range
- leetcode 34. Search for a Range
- leetcode 34. Search for a Range
- leetcode 34. Search for a Range
- LeetCode *** 34. Search for a Range
- LeetCode 34. Search for a Range
- 孤寂疗
- iOS之等比例放大Button的大小
- 桶排序,冒泡排序,快速排序三者比较(例子说名)
- 数据结构之链式队列
- 设计模式 - 适配器模式
- leetcode 34. Search for a Range
- SVN工程状态标记消失问题
- LinkedList 中add 和 offer 的区别?
- C++STL中vector容器 begin()与end()函数、front()与back()的用法
- 获取MAC地址
- linux序列前序
- DNS原理总结及其解析过程详解(递归查询+迭代查询)
- 组合数学八题
- Android三角标签View:TriangleLabelView