博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
033 Search in Rotated Sorted Array 搜索旋转排序数组
阅读量:5300 次
发布时间:2019-06-14

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

假设按照升序排序的数组在预先未知的某个关键点上旋转。

(即 0 1 2 4 5 6 7 将变成 4 5 6 7 0 1 2)。
给你一个目标值来搜索,如果数组中存在这个数则返回它的索引,否则返回 -1。
你可以假设数组中不存在重复。
详见:https://leetcode.com/problems/search-in-rotated-sorted-array/description/

Java实现:

class Solution {    public int search(int[] nums, int target) {        int size=nums.length;        if(size==0||nums==null){            return -1;        }        int left=0;        int right=size-1;        while(left<=right){            int mid=(left+right)>>1;            if(nums[mid]==target){                return mid;            }else if(nums[mid]
=target){ left=mid+1; }else{ right=mid-1; } }else{ if(nums[left]<=target&&nums[mid]>target){ right=mid-1; }else{ left=mid+1; } } } return -1; }}

 C++实现:

class Solution {public:    int search(vector
& nums, int target) { int size=nums.size(); if(size==0||nums.empty()) { return -1; } int left=0; int right=size-1; while(left<=right) { int mid=(left+right)/2; if(nums[mid]==target) { return mid; } else if(nums[mid]
=target) { left=mid+1; } else { right=mid-1; } } else { if(nums[left]<=target&&nums[mid]>target) { right=mid-1; } else { left=mid+1; } } } return -1; }};

 

转载于:https://www.cnblogs.com/xidian2014/p/8687877.html

你可能感兴趣的文章
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
图片生成缩略图
查看>>
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
三.野指针和free
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
HDU4405--Aeroplane chess(概率dp)
查看>>
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>
Spring面试题
查看>>
窥视SP2010--第一章节--SP2010开发者路线图
查看>>
MVC,MVP 和 MVVM 的图示,区别
查看>>
C语言栈的实现
查看>>