zoukankan      html  css  js  c++  java
  • leetcode117search-in-rotated-sorted-array

    题目描述

    给出一个转动过的有序数组,你事先不知道该数组转动了多少
    (例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2).
    在数组中搜索给出的目标值,如果能在数组中找到,返回它的索引,否则返回-1。
    假设数组中不存在重复项。

    Suppose a sorted array is rotated at some pivot unknown to you beforehand.

    (i.e.,0 1 2 4 5 6 7might become4 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.


    示例1

    输入

    复制
    [1],0

    输出

    复制
    -1
    
    class Solution {
    public:
        bool search(int A[], int n, int target) {
            for(int i = 0;i<n;i++)
                {
                if(A[i]==target)
                    return true;
            }
            return false;
        }
    };

    class Solution {
    public:
        bool search(int A[], int n, int target) {
          int low = 0, high = n - 1;
            while(low <= high){
                int mid = (low + high) / 2;
                if(A[mid] == target)
                    return true;
                if(A[low] == A[mid] && A[mid] == A[high]){
                    low++;
                    high--;
                }else if(A[low] <= A[mid]){  //left sorted
                    if(A[low] <= target && A[mid] > target){
                        high = mid - 1;
                    }
                    else
                        low = mid + 1;
                }else if(A[mid] <= A[high]){
                    if(A[mid] < target && A[high] >= target){
                        low = mid + 1;
                    }
                    else
                        high = mid - 1;
                }
                      
            }
            return false;  
        }
    };

    #
    #
    # @param A int整型一维数组
    # @param target int整型
    # @return bool布尔型
    #
    class Solution:
        def search(self , A , target ):
            # write code here
            return target in A


  • 相关阅读:
    线程同步的三种方式(Mutex,Event,Critical Section) 沧海
    VC++多线程下内存操作的优化 沧海
    C++内存对象大会战 沧海
    技术关注:搜索引擎经验 沧海
    jira 3.13.5版 安装 配置 用户权限控制 拂晓风起
    C++ int string 转换 拂晓风起
    C++调用C链接库会出现的问题 拂晓风起
    Windows Server 2003 IIS Service Unavailable 问题解决 拂晓风起
    研究 学术 开发 的好用工具(不包括常见的) 拂晓风起
    SGMarks 问世 (Firefox扩展Gmarks的扩展版) 纯属学习 拂晓风起
  • 原文地址:https://www.cnblogs.com/hrnn/p/13413399.html
Copyright © 2011-2022 走看看