博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leedcode 34] Search for a Range
阅读量:5058 次
发布时间:2019-06-12

本文共 1219 字,大约阅读时间需要 4 分钟。

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[] nums, int target) {        //本题是在已排序的数组中进行查找,因此应用二分查找的思想        //牢记二分查找的参数以及函数!        //当找到target数时,进行顺序查找,设置两个指针,一个是left,代表最侧不为target的下标。另一个是right,代表最右侧不为target的下标        //注意int 数组的初始化!int a[]={-1,-1};        int[] result={-1,-1};        if(nums.length<1) return result;        int res=find(nums,target,0,nums.length-1);        if(res==-1){            return result;                    }        int left=res-1;        int right=res+1;        while(left>=0&&nums[left]==target){                 left--;        }         while(right
end) return -1; int mid=(start+end)/2; if(nums[mid]==target){ return mid; } if(target>nums[mid]){ return find(nums,target,mid+1,end); }else{ return find(nums,target,start,mid-1); } }}

 

转载于:https://www.cnblogs.com/qiaomu/p/4633904.html

你可能感兴趣的文章
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
docker固定IP地址重启不变
查看>>
桌面图标修复||桌面图标不正常
查看>>
JavaScript基础(四)关于对象及JSON
查看>>
关于js sort排序方法
查看>>
JAVA面试常见问题之Redis篇
查看>>
javascript:二叉搜索树 实现
查看>>
网络爬虫Heritrix源码分析(一) 包介绍
查看>>
__int128的实现
查看>>
Problem - 1118B - Codeforces(Tanya and Candies)
查看>>
jdk1.8 api 下载
查看>>
svn 图标不显示
查看>>
getElement的几中属性介绍
查看>>
iOS 使用Quartz 2D画虚线 【转】
查看>>
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>
感谢青春
查看>>
Jquery Uploadify4.2 falsh 实现上传
查看>>
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>