LeetCode 33. Search in Rotated Sorted Array(在旋转有序序列中搜索)
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.
题目标签:Array
Java Solution:
Runtime beats 70.31%
完成日期:07/14/2017
关键词:Array
关键点:利用Binary Search 结合 rotated sorted array 中必然有一半是有序序列 来搜索
public class Solution
{
public int search(int[] nums, int target)
{
if(nums == null || nums.length == 0)
return -1; int left = 0;
int right = nums.length - 1; while(left <= right)
{
int mid = left + (right - left) / 2; if(nums[mid] == target) // if the middle one is target, return mid index
return mid;
else if(nums[mid] >= nums[left]) // meaning left half is ascending order
{
if(target >= nums[left] && target < nums[mid]) // if target is in left half
right = mid - 1; // move to left half to search
else // target is in right half
left = mid + 1; // move to right half to search
}
else // meaning right half is ascending order
{
if(target > nums[mid] && target <= nums[right]) // if target is in right half
left = mid + 1;
else // target is in left half
right = mid - 1; } } return -1;
}
}
参考资料:
http://www.cnblogs.com/grandyang/p/4325648.html
LeetCode 算法题目列表 - LeetCode Algorithms Questions List
LeetCode 33. Search in Rotated Sorted Array(在旋转有序序列中搜索)的更多相关文章
- [LeetCode] 33. Search in Rotated Sorted Array 在旋转有序数组中搜索
		
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...
 - [CareerCup] 11.3 Search in Rotated Sorted Array 在旋转有序矩阵中搜索
		
11.3 Given a sorted array of n integers that has been rotated an unknown number of times, write code ...
 - [LeetCode] Search in Rotated Sorted Array 在旋转有序数组中搜索
		
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
 - LeetCode 33 Search in Rotated Sorted Array(循环有序数组中进行查找操作)
		
题目链接 :https://leetcode.com/problems/search-in-rotated-sorted-array/?tab=Description Problem :当前的数组 ...
 - leetCode 33.Search in Rotated Sorted Array(排序旋转数组的查找) 解题思路和方法
		
Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to you before ...
 - [array]  leetcode - 33. Search in Rotated Sorted Array - Medium
		
leetcode - 33. Search in Rotated Sorted Array - Medium descrition Suppose an array sorted in ascendi ...
 - LeetCode 33 Search in Rotated Sorted Array [binary search] <c++>
		
LeetCode 33 Search in Rotated Sorted Array [binary search] <c++> 给出排序好的一维无重复元素的数组,随机取一个位置断开,把前 ...
 - [leetcode]81. Search in Rotated Sorted Array II旋转过有序数组里找目标值II(有重)
		
This is a follow up problem to Search in Rotated Sorted Array, where nums may contain duplicates. 思路 ...
 - [LeetCode] Find Minimum in Rotated Sorted Array  寻找旋转有序数组的最小值
		
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
 
随机推荐
- 如何在Oracle官网下载历史版本JDK
			
打开Oracle官网,准备下载java JDK(下载时需要使用注册用户登陆,可以免费注册) 官网地址:http://www.oracle.com/ 2 鼠标悬停Downloads,会出现相关内容,如下 ...
 - Server Tomcat v7.0 Server at localhost failed to start.解决方法
			
---恢复内容开始--- 今天在做jsp项目的时候,Tomcat突然无法打开了,出现的报错是这样的: 也不知道是怎么搞得,百度了老半天看到有的网友是通过两这个方法解决的,连接在这http://blog ...
 - Windows下chm转换为html的超简单方法
			
摘要:通过调用Windows命令,将chm 文件转换为html 文件 概述:很多程序员朋友都会遇到这样的问题,看一个离线版的帮助文档(chm文件),总会产生一个索引文件(该文件的chw文件), 而且有 ...
 - SimpleRpc-系统边界以及整体架构
			
系统边界 什么是系统边界?系统边界就是在系统设计之初,对系统所要实现的功能进行界定,不乱添加,不多添加.这么做的好处就是,系统简单明了,主旨明确,方便开发和用户使用.举个例子,一个自动售货机的本职工作 ...
 - 将eclipse左边目录结构改为 树形结构
			
认情况下Eclipse的显示内容如下: 这种视图我们看起来不太方便,于是我们需要改变一下它的显示结构,我们点击一下下图中蓝色圆圈圈住的图标 在弹出的框中把鼠标放到"package prese ...
 - OC Block网上转载
			
1.block是一个特殊的OC对象, 它建立在栈上, 而不是堆上, 这么做一个是为性能考虑,还有就是方便访问局部变量. 2.默认情况下block使用到的局部变量都会被复制,而不是保留.所以它无法改变局 ...
 - 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)
			
Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很简单, ...
 - HDFS概述(1)————HDFS架构
			
概述 Hadoop分布式文件系统(HDFS)是一种分布式文件系统,用于在普通商用硬件上运行.它与现有的分布式文件系统有许多相似之处.然而,与其他分布式文件系统的区别很大.HDFS具有高度的容错能力,旨 ...
 - 一张图理清ASP.NET Core启动流程
			
1. 引言 对于ASP.NET Core应用程序来说,我们要记住非常重要的一点是:其本质上是一个独立的控制台应用,它并不是必需在IIS内部托管且并不需要IIS来启动运行(而这正是ASP.NET Cor ...
 - VBA /VB/VB中合成分散数据方法
			
公司用于项目号的合成,怕忘记,特此放上这里.若能帮助其它道友,善莫大焉. 比如:001,004,006,007,008,009,010 结果可以输出:001,004,006-010 逻辑:1.获得数据 ...