博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode-33-Search in Rotated Sorted Array
阅读量:6495 次
发布时间:2019-06-24

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

题目阐释:
给定一组升序数组,取某个点之后将数组截断交换前后两个数组顺序,给定一个值,求这个值的index
重点:二分法,确定target在哪个列表中,之后不断二分法进行位置确认。
由于不是一直升序,所以需要多些条件进行范围的限定。   二分法,需要不断 mid-1或者mid+1,因为mid已经判断过,没有再出现在数组的意义。     注意边界值的确定,有 边界值相等,列表只有一个值,这些情况。注意 <  <=的使用
应用:排序,快速确定某个值的位置
class Solution:    def search(self, nums, target):        """        :type nums: List[int]        :type target: int        :rtype: int        """        if not nums:            return -1        start,end=0,len(nums)-1        # mid=(start+end)//2+1        while True:            mid=(start+end)//2            if mid>end:                return -1            if nums[mid]==target:                return mid            if end<=start:                return -1            if nums[start]<=target<=nums[mid] or nums[mid]
<=target or target<=nums[mid]

转载地址:http://pauyo.baihongyu.com/

你可能感兴趣的文章
awk
查看>>
AliOS Things SMP系统及其在esp32上实现示例
查看>>
关于用户的操作:添加用户,删除用户,更改用户属性
查看>>
定制rpm包及搭建yum仓库
查看>>
zabbix 报警小案例
查看>>
CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
查看>>
shell ping 网段 多进程(很简单,喜欢就拿去用)
查看>>
枚举类、单实例
查看>>
正则参考
查看>>
C语言及程序设计 实践项目——C语言程序初体验
查看>>
我的友情链接
查看>>
Windows下如何卸载一个服务
查看>>
使用Spring AOP切面解决数据库读写分离
查看>>
【java集合框架源码剖析系列】java源码剖析之HashSet
查看>>
《梦断代码》读书笔记一
查看>>
1_node.js
查看>>
图片压缩技术
查看>>
Exchange企业实战技巧(17)让密件抄送给特定用户
查看>>
我的友情链接
查看>>
我的友情链接
查看>>