日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > LeetCode Search in Rotated Sorted Array

LeetCode Search in Rotated Sorted Array

來源:程序員人生   發布時間:2014-12-16 08:11:56 閱讀次數:1910次

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

(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).

You are given a target value to search. If found in the array return its index, otherwise return ⑴.

You may assume no duplicate exists in the array.

思路分析:這題一樣考察2分查找,但是是在rotation以后的數組中進行2分查找。這題的特點是,每次2分后,最少有1半是有序的,另外一半是無序的(遭到了rotation的影響)。所以要利用這1特性,通過比較target和有序的那半邊數組的最小數和最大數,來決定l和m的更新規則。具體而言

1.如果target = A[m] 返回m

2 如果target 不等于A[m]

2.1 如果A[m] < A[r],說明A[m...r]有序,沒有收到rotation影響,可以判斷target是不是在A[m...r]范圍內,如果是更新l=m+1;否則更新r=m⑴

2.2 如果A[m] >= A[r],說明A[l...m]有序,沒有收到rotation影響,可以判斷target是不是在A[l...m]范圍內,如果是更新r=m⑴;否則更新l=m+1

所以利用每次依然有序的半邊數組,我們依然可以進行2分查找,更新l和r,每次縮小1半的搜索范圍,時間復雜度O(log(n)),空間復雜度O(1),只有常數級別的額外空間。注意判斷target是不是在A[m...r]范圍和target是不是在A[l...m]范圍內的時候,要斟酌target == A[r]和target == A[l]的情況,2分查找的實現等號情況的斟酌要特別謹慎。

AC 時間:5min。

AC Code

public class Solution { public int search(int[] A, int target) { //02:46 if(A == null || A.length == 0) return ⑴; int l = 0; int r = A.length - 1; while(l <= r){ int m = (l + r) / 2; if(target == A[m]) return m; else{ if(A[m] < A[r]){ //m ... r is sorted if(target <= A[r] && target > A[m]) { l = m + 1; } else { r = m - 1; } } else { //l ... m is sorted if(target >= A[l] && target < A[m]){ r = m ⑴; } else { l = m + 1; } } } } return ⑴; } //02:51 }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 91av视屏| 丝袜 亚洲 另类 欧美 综合 | 国产精品一区一区三区 | 亚洲欧美一区二 | 日本精品网站 | 蜜桃永久免费 | 综合色区 | 在线三区| 在线观看亚洲人 | 久草免费福利 | 久久av网站 | 欧美国产精品久久久 | 综合久久伊人 | 久久毛片 | 亚洲精品在线免费 | 日本欧美国产 | 精品国产一区二区三区久久久久久 | 一二区成人影院电影网 | 一区国产精品 | 视频一区在线 | 日韩欧美久久 | 国产精品一区久久 | 免费黄色小片 | aa一级视频 | 中文字幕1区2区3区 三级电影网址 | av中文在线 | 黄色毛片免费 | 国产精品一区二 | 亚洲视频在线视频 | 成人不卡| 黄色片网址 | 久久久久伊人 | 日韩一区二区三区四区五区 | 免费在线观看一区 | 国产成人亚洲综合 | 天天天天干 | 国产乱人乱精一区二视频国产精品 | 久久视频一区 | 国产精品综合久久 | 99在线精品视频 | 欧美性猛交xxxx免费看 |