leetcode.array--34. Search for a Range
来源:互联网 发布:淘宝账号怎么注销掉 编辑:程序博客网 时间:2024/06/05 00:53
问题:34. Search for a Range
题目描述:https://leetcode.com/problems/search-for-a-range/description/
大致意思说,在有序数组中找到target值的索引上下界,例如序列[5,7,7,8,8,10]且target=8,则返回[3,4]。如果不存在则返回[-1,-1]。
使用Python的bisect实现二分查找:
import bisectclass Solution(object): def searchRange(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ length=len(nums) if length==0: return [-1,-1] i=bisect.bisect_left(nums,target) if i!=length: if nums[i]==target: j=bisect.bisect_right(nums,target) return [i,j-1] else: return [-1,-1]
其中,bisect_left(seq,val)函数返回有序序列seq中小于等于val值的索引下界,而bisect_right(seq,val)则返回seq中大于val值的索引下界。利用该函数可以快速实现二分查找:
import bisectdef bisearch(nums,target): i=bisect.bisect_left(nums,target) if i<len(nums) and nums[i]==target: return i return -1la=[1,2,3,4,4,4,4]print(bisearch(la,4)) # 3
阅读全文
0 0
- leetcode.array--34. Search for a Range
- LeetCode[Array]: Search for a Range
- 34. Search for a Range--Array/LeetCode/C++
- 【leetcode】Array——Search for a Range(34)
- [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
- 二维数组中的查找
- 《生物信息专业都学些什么编程语言?》读后感
- OPC介绍
- ubuntu下使用GeographicLib库
- JQuery基础(一)样式篇
- leetcode.array--34. Search for a Range
- 【转】MovieTaster-使用Item2Vec做电影
- Python3解决UnicodeDecodeError: 'utf-8' codec can't decode byte..问题 终极解决方案
- 背包问题
- QT
- Qt更改图标
- 数据结构5-最小生成树Prim算法
- 大致计划《2017-10》
- hibernate注解开发相关