LeetCode第三十四题-寻找数组中对应目标值的首尾索引
Posted lalalaczq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode第三十四题-寻找数组中对应目标值的首尾索引相关的知识,希望对你有一定的参考价值。
Find First and Last Position of Element in Sorted Array
问题简介:给定按升序排序的整数数组,找到给定目标值的起始位置和结束位置.
注:
1.算法的运行时复杂度必须为O(log n)
2.如果在数组中找不到目标,则返回[-1,-1]
举例:
1:
输入: nums = [5,7,7,8,8,10], target = 8
输出: [3,4]
2:
输入: nums = [5,7,7,8,8,10], target = 6
输出: [-1,-1]
解法一:
可以从头遍历,第一次找到目标值的即第一个索引,再倒序遍历,寻找目标值
解法二:
我们也可以用改进的二进制来做,定义一个方法来分别求数组中第一个和最后一个与target相同值的索引,其中left是状态值,当left=true时,代表这个方法时寻找第一个索引值,false即最后一个索引值
复杂度分析:
时间复杂度:o(log10(n))
空间复杂度:o(1)
小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海
以上是关于LeetCode第三十四题-寻找数组中对应目标值的首尾索引的主要内容,如果未能解决你的问题,请参考以下文章
全国计算机等级考试二级Python(2021年9月)备考笔记 第十四天
全国计算机等级考试二级Python(2021年9月)备考笔记 第十二天