search in rotated sorted array

2019-01-07  本文已影响0人  静水流深ylyang

题目描述

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.

题目大意

假设一个已排序的数组在事先未知的某个枢轴处旋转。
(即,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2)。
给定要搜索的目标值,如果在数组中找到则返回其索引,否则返回-1。
假设数组中不存在重复值。

思路

暴力破解

循环遍历整个数组,找到即返回索引号,找不到就返回-1。

二分查找

代码

暴力破解

int search(int A[], int n, int target)
{
    for(int i=0; i<n; i++)
    {
        if(A[i] == target)
        {
            return i;
        }
    }
    return -1;
}

运行结果

二分查找


以上。

上一篇 下一篇

猜你喜欢

热点阅读