0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言: Leetcode 33搜索旋轉(zhuǎn)排序數(shù)組

如意 ? 來源:CSDN ? 作者:CaspianSea ? 2020-06-22 08:51 ? 次閱讀

假設(shè)按照升序排序的數(shù)組在預(yù)先未知的某個點上進(jìn)行了旋轉(zhuǎn)。

( 例如,數(shù)組 [0,1,2,4,5,6,7] 可能變?yōu)?[4,5,6,7,0,1,2] )。

搜索一個給定的目標(biāo)值,如果數(shù)組中存在這個目標(biāo)值,則返回它的索引,否則返回 -1 。

你可以假設(shè)數(shù)組中不存在重復(fù)的元素。

你的算法時間復(fù)雜度必須是 O(log n) 級別。

示例 1:

輸入: nums = [4,5,6,7,0,1,2], target = 0

輸出: 4

示例 2:

輸入: nums = [4,5,6,7,0,1,2], target = 3

輸出: -1

解法1:如果是 left 《 right,就是有序數(shù)組,用二分來處理;否則,target可能落在 left~mid和mid~right兩個區(qū)間內(nèi)。

如果 left 《= target 《=mid 或者 left 》 mid 并且 target 》= left 或者 target 《= mid,則落在左區(qū)間。類似的可得出落在右區(qū)間的條件。

C語言: Leetcode 33搜索旋轉(zhuǎn)排序數(shù)組

思路2: 先考慮target落在 left~mid的情況,然后再考慮落在 mid~right的情況。而每個區(qū)間又要考慮是不是有序的。

C語言: Leetcode 33搜索旋轉(zhuǎn)排序數(shù)組

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134092
  • leetcode
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    2307
收藏 人收藏

    評論

    相關(guān)推薦

    C語言數(shù)組詳解

    介紹C語言數(shù)組的知識點。
    的頭像 發(fā)表于 05-19 10:15 ?6167次閱讀

    幫忙看看:數(shù)字排序數(shù)組

    如何按照圖中數(shù)字排序數(shù)組簇~~謝謝
    發(fā)表于 06-12 10:45

    C語言入門教程-數(shù)組

    數(shù)組 本節(jié)我們將用C寫一個小程序隨機生成10個數(shù),并對其進(jìn)行排序。我們將使用一種新的變量結(jié)構(gòu)
    發(fā)表于 07-29 11:03 ?771次閱讀

    C語言教程之希爾排序

    C語言教程之希爾排序,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-22 11:06 ?0次下載

    C語言教程之冒泡排序

    C語言教程之冒泡排序,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-22 11:06 ?0次下載

    C語言教程之選擇排序

    C語言教程之選擇排序,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-22 11:06 ?0次下載

    C語言教程之歸并排序

    C語言教程之歸并排序,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-22 11:06 ?0次下載

    C語言教程之對數(shù)組進(jìn)行升序和降序排序

    C語言教程之對數(shù)組進(jìn)行升序和降序排序,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-25 16:09 ?0次下載

    C語言leetcode 35搜索插入位置

    給定一個排序數(shù)組和一個目標(biāo)值,在數(shù)組中找到目標(biāo)值,并返回其索引。如果目標(biāo)值不存在于數(shù)組中,返回它將會被按順序插入的位置。
    的頭像 發(fā)表于 06-22 08:40 ?1576次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>leetcode</b> 35<b class='flag-5'>搜索</b>插入位置

    C語言LeetCode 153尋找旋轉(zhuǎn)排序數(shù)組中的最小值

    假設(shè)按照升序排序數(shù)組在預(yù)先未知的某個點上進(jìn)行了旋轉(zhuǎn)。
    的頭像 發(fā)表于 06-22 08:59 ?1754次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>LeetCode</b> 153尋找<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>排序數(shù)組</b>中的最小值

    C語言總結(jié)_數(shù)組全方位練習(xí)

    C語言數(shù)組的練習(xí)題:涉及到數(shù)組插入、數(shù)組刪除、數(shù)組下標(biāo)數(shù)據(jù)的左移右移、
    的頭像 發(fā)表于 08-14 09:34 ?808次閱讀

    C語言總結(jié)_數(shù)組知識

    當(dāng)前文章復(fù)盤C語言數(shù)組數(shù)組定義規(guī)則、數(shù)組空間類型、數(shù)組下標(biāo)使用、
    的頭像 發(fā)表于 08-14 09:38 ?1216次閱讀

    C語言_數(shù)組的查找、替換、排序、拼接

    這篇文章主要是總結(jié)C語言的位運算幾個實戰(zhàn)例子,接著介紹數(shù)組的基本定義用法、數(shù)組排序、插入、拼接、刪除、字符串查找替換等。
    的頭像 發(fā)表于 08-14 09:48 ?2431次閱讀

    C語言如何創(chuàng)建數(shù)組

    C語言是一種非常強大和靈活的編程語言,它提供了若干數(shù)據(jù)類型來存儲和操作數(shù)據(jù)。其中之一就是數(shù)組,它可以用來存儲一系列具有相同數(shù)據(jù)類型的元素。本文將詳細(xì)介紹如何在
    的頭像 發(fā)表于 11-24 10:08 ?1365次閱讀

    c語言數(shù)組怎么定義

    C語言中,數(shù)組是一種用來存儲相同類型元素的數(shù)據(jù)結(jié)構(gòu)。它可以存儲多個元素,并通過一個共同的名稱來引用這些元素。數(shù)組是一種很重要的數(shù)據(jù)結(jié)構(gòu),可以用于解決很多實際的問題。 在
    的頭像 發(fā)表于 11-24 10:11 ?2274次閱讀