题目内容

本题来源LeetCode

Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).

You are given a target value to search. If found in the array return its index, otherwise return -1.

You may assume no duplicate exists in the array.

题目思路

题目难度:medium

这个题目是对常规的二分查找的一个变形。基本的思路就是用二分查找。但是区别在于:二分查找进行二分的条件是判断target和nums[mid]之间的大小;而这里进行二分的条件是更加复杂,不仅需要判断nums[mid]在数组的左半部分还是右半部分,而且要判断target和子数组两端元素的关系。

另外,此题的难点在于边界条件的把握,什么时候取等号需要认真考虑。

Python代码

class Solution(object):def search(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""if nums==[]:return -1end=len(nums)-1start=0while start<=end:mid=(start+end)/2if nums[mid]==target:return midif nums[mid]>=nums[start]:if nums[start]<=target and target<nums[mid]:end=midelse:start=mid+1else:if nums[end]>=target and nums[mid]<target:start=mid+1else:end=midreturn -1         

转载于:https://www.cnblogs.com/chengyuanqi/p/7115846.html

[算法题] Search in Rotated Sorted Array相关推荐

  1. [算法题] Search in Rotated Sorted Array ii

    题目内容 题目来源:LeetCode Suppose an array sorted in ascending order is rotated at some pivot unknown to yo ...

  2. python旋转排序数组_LeetCode(力扣)——Search in Rotated Sorted Array 搜索旋转排序数组 python实现...

    题目描述: python实现Search in Rotated Sorted Array 搜索旋转排序数组 中文:假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2, ...

  3. 62. Search in Rotated Sorted Array【medium】

    62. Search in Rotated Sorted Array[medium] Suppose a sorted array is rotated at some pivot unknown t ...

  4. LeetCode Search in Rotated Sorted Array II -- 有重复的旋转序列搜索

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  5. leetcode 81 Search in Rotated Sorted Array II ----- java

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  6. 81. Search in Rotated Sorted Array II

    题目: Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would ...

  7. 【leetcode】Search in Rotated Sorted Array II(middle)☆

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  8. LeetCode Search in Rotated Sorted Array II

     Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would t ...

  9. Search in Rotated Sorted Array II

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

最新文章

  1. VM 与容器之争!Docker赢了!
  2. 保护了无数医护人员的N95口罩,原来是华裔科学家和一位学生共同发明的!
  3. Msg3最大传输次数(maxHARQ-Msg3Tx)
  4. boost::intrusive::smart_ptr用法的测试程序
  5. Android架构师谈:View-Pager-性能优化之-无限循环
  6. VMware 安装版中 安装VMware tools 图解
  7. 转:gcc编译C++程序
  8. 正则表达式学习笔记011--贪婪和懒惰的匹配
  9. 怎样从外网访问自己的HTTP服务器
  10. Struts2 工作流程
  11. 无约束最优化(五) 最小二乘法问题的解法
  12. head first html与css 代码_手把手教你使用Flask轻松部署机器学习模型(附代码amp;链接) | CSDN博文精选...
  13. 91卫图助手下载器永久免费啦!!
  14. 2019小程序没必要做了_2019,小程序会更好吗?
  15. 微信朋友圈 腾讯服务器,朋友圈@微信能得一面红旗?腾讯服务器一度宕机
  16. 计算机网络中出现异常流量,计算机网络下网络流量异常的检测算法
  17. cocos2dx 3.2 学习篇之六(精灵运动,自定义运动轨迹(太极八卦))
  18. Meta Learning在NLP领域的应用
  19. 书论55 郝经《移诸生论书法书》
  20. java将小写数字变成大写输出

热门文章

  1. ModalPopupExtender控件和gridview的结合使用
  2. Newtonsoft.Json.dll 使用
  3. jquery出现“为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件。请单击这里获取选项...”的解决办法
  4. 开发人员指南 Googlemap API教程
  5. 王道 —— 中断和异常
  6. 【链接攻击,差分攻击,去标识化代码实现】差分隐私代码实现系列(二)
  7. Markdown--绘制流程图(flowchart)
  8. C++字符串转化为数字的库函数
  9. 广工计算机组成原理实验报告_计算机组成原理:存储器
  10. sql server存阿拉伯语变成问号_【server@geoserver】WFS只读(readonly)解决办法