leetcode刷題(陣列)3 搜尋旋轉排序陣列

2021-10-24 05:18:47 字數 645 閱讀 5273

假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。

( 例如,陣列 [0,1,2,4,5,6,7] 可能變為 [4,5,6,7,0,1,2] )。

搜尋乙個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回 -1 。

你可以假設陣列中不存在重複的元素。

你的演算法時間複雜度必須是 o(log n) 級別。

class

solution

//選左邊

//中間和左邊有序,first<=targrt//中間和右邊有序,target>last||targetif

((nums[first]

< nums[mid]

&& nums[first]

<=target && nums[mid]

> target)

||(nums[last]

> nums[mid]

&&(nums[mid]

> target || target > nums[last]))

)else

mid = first +

(last - first)/2

;}return-1

;}}

leetcode刷題筆記 陣列3

給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列 現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。這裡的解答用到了投機取巧的一種方法,使用set函式 class solution def containsduplicate self,nums list int...

LeetCode刷題 搜尋旋轉排序陣列 II

假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,0,1,2,2,5,6 可能變為 2,5,6,0,0,1,2 編寫乙個函式來判斷給定的目標值是否存在於陣列中。若存在返回 true,否則返回 false。輸入 nums 2,5,6,0,0,1,2 target 0 輸出 tru...

LeetCode刷題打卡(3)

判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。首先,可以排除負數。負數一定不是回文數。拿到這一題,我感覺思路和整數翻轉那道題差不多,通過比較翻轉後的數與原來的數是否相等,可以判斷該數是否為回文數。因為要考慮int溢位的問題,且已經排除了負數,我把翻轉後的數定...