摘要:由于不是一直升序,所以需要多些條件進行范圍的限定。注意邊界值的確定,有邊界值相等,列表只有一個值,這些情況。注意的使用應(yīng)用排序,快速確定某個值的位置
題目闡釋:
給定一組升序數(shù)組,取某個點之后將數(shù)組截斷交換前后兩個數(shù)組順序, 給定一個值,求這個值的index
重點:二分法,確定target在哪個列表中,之后不斷二分法進行位置確認。
由于不是一直升序,所以需要多些條件進行范圍的限定。 二分法,需要不斷 mid-1或者mid+1,因為mid已經(jīng)判斷過,沒有再出現(xiàn)在數(shù)組的意義。 注意邊界值的確定,有 邊界值相等,列表只有一個值,這些情況。注意 < <=的使用
應(yīng)用:排序,快速確定某個值的位置
class Solution: def search(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ if not nums: return -1 start,end=0,len(nums)-1 # mid=(start+end)//2+1 while True: mid=(start+end)//2 if mid>end: return -1 if nums[mid]==target: return mid if end<=start: return -1 if nums[start]<=target<=nums[mid] or nums[mid]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/42148.html
摘要:這里相比于思路一,更適用于目標節(jié)點在中間的情況,而思路一在目標節(jié)點分布在數(shù)組兩側(cè)會效率更高。 題目要求 Suppose an array sorted in ascending order 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 ...
摘要:如正常的升序排列應(yīng)該是,,,,,,旋轉(zhuǎn)過后可能就是,,,,,,。想法因為這是一個經(jīng)過旋轉(zhuǎn)的升序數(shù)組,我們可以將其看作兩個升序的序列,,,和,,。如果在前一個序列,則從前面進行查找。如果在后面一個序列,則從最后一個元素開始查找。 題目詳情 Suppose an array sorted in ascending order is rotated at some pivot unknown...
摘要:排序數(shù)組中找最小值或最大值的題目,很明顯可以使用二分法。因此,只判斷終點和中點元素的大小關(guān)系即可。這里有一種情況是上述后三個,中點值和末位相等。此時,兩邊同時遞歸,并返回兩邊遞歸值的較小值。當首位和末位重合,說明已夾逼得到最小值。 Find Minimum in Rotated Sorted Array Problem Suppose a sorted array is rotated...
摘要:題目思路個人覺得這是一道值得回味的二分法題目。與給出的二分法搜索比,這道題目的是未知的,并且是。我個人是從觀察給出的例子入手的。我本人走的彎路是,過于專注于,從而邏輯變得復(fù)雜。其實,,和步就可以幫助我們順利找到最小值。 題目 http://www.lintcode.com/en/pr... Suppose a sorted array is rotated at some pivot ...
摘要:二分迭代法復(fù)雜度時間空間遞歸??臻g思路找旋轉(zhuǎn)數(shù)組的起點,實際上類似找一個山谷,只要兩邊都比中間高就對了,這和這題很像。 Find Minimum in Rotated Sorted Array I Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 ...
閱讀 3510·2019-08-30 13:15
閱讀 1456·2019-08-29 18:34
閱讀 881·2019-08-29 15:18
閱讀 3534·2019-08-29 11:21
閱讀 3311·2019-08-29 10:55
閱讀 3760·2019-08-26 10:36
閱讀 1928·2019-08-23 18:37
閱讀 1905·2019-08-23 16:57