LeetCode33. 搜尋旋轉排序陣列
//LeetCode33. 搜尋旋轉排序陣列
class Solution {
public:
vector<int>s;
int it;
void dfs(int l, int r) {
if (l == r) {
it = l + 1;
return;
}
int mid = (l + r) >> 1;
if (s[l] <= s[mid] && s[mid + 1] <= s[r]) it = mid + 1;
else if (s[l] <= s[mid]) dfs(mid + 1, r);
else if (s[mid + 1] <= s[r]) dfs(l, mid);
}
int ans;
int get(int x) {
return (x + it) % s.size();
}
void fin(int tar, int l, int r) {
if (l == r) {
if (s[get(l)] == tar) ans = l;
else ans = -1;
return;
}
int mid = (l + r) >> 1;
if (s[get(mid)] >= tar) fin(tar, l, mid);
else fin(tar, mid + 1, r);
}
int search(vector<int>& nums, int tar) {
s = nums;
if (s.front() < s.back()) it = 0;
else dfs(0, s.size() - 1);
fin(tar, 0, s.size() - 1);
return ans == -1 ? -1 : get(ans);
}
};
相關文章
- LeetCode 33——搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode 81——搜尋旋轉排序陣列 IILeetCode排序陣列
- LeetCode#33搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode33 搜尋旋轉排序陣列LeetCode排序陣列
- 【LeetCode(Java) - 33】搜尋旋轉排序陣列LeetCodeJava排序陣列
- leetCode33搜尋旋轉排序陣列LeetCode排序陣列
- 力扣·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矩陣