LeetCode33 搜尋旋轉排序陣列
LeetCode33 搜尋旋轉排序陣列
給你一個升序排列的整數陣列 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 {
public int search(int[] nums, int target) {
int l=0,r=nums.length-1;
while(l<=r){
int m=(l+r)/2;
if(nums[m]==target)return m;
else if(nums[m]<nums[r]){
if(nums[m]<target&&nums[r]>=target){
l=m+1;
}
else r=m-1;
}
else{
if(nums[l]<=target&&nums[m]>target){
r=m-1;
}
else l=m+1;
}
}return -1;}
}
相關文章
- leetCode33搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode 33——搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode 81——搜尋旋轉排序陣列 IILeetCode排序陣列
- LeetCode33. 搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode#33搜尋旋轉排序陣列LeetCode排序陣列
- 【LeetCode(Java) - 33】搜尋旋轉排序陣列LeetCodeJava排序陣列
- 力扣·33. 搜尋旋轉排序陣列力扣排序陣列
- leetcode, LC68:旋轉排序陣列搜尋LeetCode排序陣列
- 力扣-81. 搜尋旋轉排序陣列 II力扣排序陣列
- LeetCode 熱題 HOT 100 Java題解——33. 搜尋旋轉排序陣列LeetCodeJava排序陣列
- LeetCodeHot100 二分查詢 35. 搜尋插入位置 74. 搜尋二維矩陣 34. 在排序陣列中查詢元素的第一個和最後一個位置 33. 搜尋旋轉排序陣列 153. 尋找旋轉排序陣列中的最小值LeetCode矩陣排序陣列
- 153. 尋找旋轉排序陣列中的最小值排序陣列
- 33、搜尋旋轉排序陣列 | 演算法(leetode,附思維導圖 + 全部解法)300題排序陣列演算法
- 153. 尋找旋轉排序陣列中的最小值(中)排序陣列
- LeetCode-153-尋找旋轉排序陣列中的最小值LeetCode排序陣列
- 【LeetCode】153. 尋找旋轉排序陣列中的最小值LeetCode排序陣列
- LeetCode 刷題 [C++] 第33題. 搜尋旋轉排序陣列 (二分法+簡潔易懂)LeetCodeC++排序陣列
- LeetCode 189 旋轉陣列LeetCode陣列
- PHP 陣列搜尋 sdk & 陣列分頁PHP陣列
- 【LeetCode】189. 旋轉陣列LeetCode陣列
- LeetCode-189-旋轉陣列LeetCode陣列
- LC 189. 旋轉陣列陣列
- 旋轉陣列中的最小元素陣列
- NumPy 分割與搜尋陣列詳解陣列
- Python教程:將有序陣列轉換為二叉搜尋樹Python陣列
- LeetCode將有序陣列轉化為二叉搜尋樹--JavaLeetCode陣列Java
- LeetCode每日一題: 旋轉陣列(No.189)LeetCode每日一題陣列
- [轉]旋轉矩陣:點旋轉和座標系旋轉矩陣
- LeetCode 108. 將有序陣列轉換為二叉搜尋樹LeetCode陣列
- LeetCode-108-將有序陣列轉換為二叉搜尋樹LeetCode陣列
- 劍指offer:旋轉陣列的最小數字陣列
- 每日一道演算法:旋轉陣列演算法陣列
- 劍指offer 旋轉陣列的最小數字陣列
- 圖解:什麼是旋轉陣列(Rotate Array)?圖解陣列
- 二分搜尋之搜尋陣列中目標元素的首尾下標陣列
- leetcode 108.將有序陣列轉換為二叉搜尋樹 JavaLeetCode陣列Java
- 陣列排序陣列排序
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣