給你乙個公升序排列的整數陣列 nums ,和乙個整數 target 。
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。(例如,陣列 [0,1,2,4,5,6,7] 可能變為 [4,5,6,7,0,1,2] )。
請你在陣列中搜尋 target ,如果陣列中存在這個目標值,則返回它的索引,否則返回 -1 。
示例 1:
輸入:nums = [4,5,6,7,0,1,2], target = 0
輸出:4
示例 2:
輸入:nums = [4,5,6,7,0,1,2], target = 3
輸出:-1
示例 3:
輸入:nums = [1], target = 0
輸出:-1
class solution
if (n == 1)
int l = 0, r = n - 1;
while (l <= r)
if (nums[0] <= nums[mid]) else
} else else }}
return -1;
}}
33 搜尋旋轉排序陣列 二分法
時隔半年再次嘗試這題,當時做的太複雜 二分法注意細節 1.左右端點初始化時,右端點記得 1 l,r 0,len nums 1 2.二分查詢結束的判斷條件,記得加等號 while l r 3.mid 的 賦值 mid l r l 2 或者 mid l r 2 4.二分法的跳出條件 if nums mi...
33 搜尋旋轉排序陣列 二分法 旋轉陣列
題目實際考察的是二分法。雖然旋轉後的陣列是部分有序的,但是由於每次迭代都必然有一部分 左部分或者右部分 是有序的,此時可以判斷當前數是否在有序的那部分,進而控制上下界。package com.walegarrett.interview author walegarrett date 2021 2 2...
二分法 搜尋旋轉排序陣列
leetcode33 搜尋旋轉排序陣列 無重複元素 假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,1,2,4,5,6,7 可能變為 4,5,6,7,0,1,2 搜尋乙個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回 1 你的演算法時間複雜度必須是 o lo...