题目:给定一个按照升序排列的整数数组nums,和一个目标值target。找出给邈赕瑟遂定目标值在数组中的开始位置和结束位置。约束:时间复杂度为O(log荏鱿胫协n)。本篇经验将分享在Java中如何通过二分查找对上述题目进行求解。
工具/原料
Eclipse
JDK1.8
方法/步骤
1、编写一个函数,通过二分查找,获取一个指定值在有序数组中第一次出现的位置,如果没嘀芟苒疾有找到该元素,则返回-1。
2、编写一个函数,通过二分查找,获取一个指定值在有序数组中最后出现的位置,如果没有找到该元素,则返回-1。
3、编写一个函数,通过调用上述两个二分查找的方法,获取一个元素在排序数组中第一个和最后一个出现的位置。
4、编写测试方法。
5、运行测试方法,观察控制台输出,符合预期,本地测试通过。
6、平台提交算法,测试通过。