二分查找算法再變形:旋轉(zhuǎn)數(shù)列二分查找

有序數(shù)列的旋轉(zhuǎn)

現(xiàn)在待查數(shù)組不再是一個單純的有序數(shù)列了淆九,而是先把它在某個位置截為兩段劲蜻,然后交換前后兩段的順序佳谦,形成新的數(shù)列戴涝。之后,再在這個新數(shù)列中進(jìn)行查找钻蔑。

比如:我們有一個原本的數(shù)列 [3, 5, 9, 7, 12, 15, 18, 32, 66, 78, 94, 103, 269],先把它截為兩段:[3, 5, 9, 7, 12, 15, 18, 32]和[66, 78, 94, 103, 269]奸鸯;然后把這兩個子數(shù)列前后交換咪笑,重新銜接成一個新的數(shù)列: [66, 78, 94, 103, 269,3, 5, 9, 7, 12, 15, 18, 32]娄涩;之后我們在新數(shù)列中查找目標(biāo)數(shù)窗怒。

無重復(fù)數(shù)的旋轉(zhuǎn)數(shù)列的二分查找

套用經(jīng)典二分查找

旋轉(zhuǎn)數(shù)列當(dāng)然也分為含重復(fù)數(shù)的,和不含重復(fù)數(shù)的蓄拣。我們先來看看相對簡單一些的扬虚,沒有重復(fù)元素的情況。

無重復(fù)數(shù)旋轉(zhuǎn)數(shù)列的查找球恤,基本思想還是按照二分查找那樣辜昵,整體是一個迭代算法,每次迭代都對應(yīng)一個待查區(qū)間咽斧。

每次迭代所面對的待查區(qū)間堪置,實際上可能有下面三種情況:

enter image description here

上圖中的橘色線段表示一個數(shù)字序列(雖然實際上我們的序列應(yīng)該是分布在一條直線上的若干離散點躬存,而且未必均勻分布,但是為了看得清楚舀锨,我們暫且用一條線段代替)岭洲。

【case-iii】是一個完全的有序數(shù)列,而【case-i】和【case-ii】則是旋轉(zhuǎn)有序的數(shù)列坎匿。

假設(shè)整個旋轉(zhuǎn)數(shù)列是用arr表示的遞增序列的旋轉(zhuǎn)盾剩,low和high用于指定其待查區(qū)域的起始點下標(biāo)。那么:

還有 85% 的精彩內(nèi)容
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
支付 ¥2.99 繼續(xù)閱讀
  • 序言:七十年代末替蔬,一起剝皮案震驚了整個濱河市告私,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌进栽,老刑警劉巖德挣,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異快毛,居然都是意外死亡格嗅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門唠帝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屯掖,“玉大人,你說我怎么就攤上這事襟衰√” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵瀑晒,是天一觀的道長绍坝。 經(jīng)常有香客問我,道長苔悦,這世上最難降的妖魔是什么轩褐? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮玖详,結(jié)果婚禮上把介,老公的妹妹穿的比我還像新娘。我一直安慰自己蟋座,他們只是感情好拗踢,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著向臀,像睡著了一般巢墅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天砂缩,我揣著相機(jī)與錄音作谚,去河邊找鬼。 笑死庵芭,一個胖子當(dāng)著我的面吹牛妹懒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播双吆,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼眨唬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了好乐?” 一聲冷哼從身側(cè)響起匾竿,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蔚万,沒想到半個月后岭妖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡反璃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年昵慌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淮蜈。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡斋攀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出梧田,到底是詐尸還是另有隱情淳蔼,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布裁眯,位于F島的核電站鹉梨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏穿稳。R本人自食惡果不足惜俯画,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望司草。 院中可真熱鬧,春花似錦泡仗、人聲如沸埋虹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搔课。三九已至,卻和暖如春截亦,著一層夾襖步出監(jiān)牢的瞬間爬泥,已是汗流浹背柬讨。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留袍啡,地道東北人踩官。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像境输,于是被迫代替她去往敵國和親蔗牡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355