LeetCode-34-在排序数组中查找元素的第一个和最后一个位置
2019-06-28 22:15
357 查看
LeetCode-34-在排序数组中查找元素的第一个和最后一个位置
#include<iostream> using namespace std; int main(){ int num[] = { 5, 7, 7, 8, 8, 8 }; int len = sizeof(num) / sizeof(num[0]); int left = 0, right = len - 1;//有序数组通常用二分法查找 int mid = (left + right) / 2; int s = -1, e = -1; int target; cin >> target; while (left <= right){ if (num[mid] == target){ s = mid; e = mid; while (s - 1 >= 0 && num[s] == num[s - 1]){ s = s - 1; } while (e + 1 < len && num[e] == num[e + 1]){ e = e + 1; } break; } else if (num[mid] < target){ left = mid + 1; } else{ right = mid - 1; } mid = (left + right) / 2; } cout << "[" << s << "," << e << "]" << endl; return 0; }
相关文章推荐
- LeetCode34-在排序数组中查找元素的第一个和最后一个位置
- Leetcode做题日记:34. 在排序数组中查找元素的第一个和最后一个位置(PYTHON)
- Leetcode(34)在排序数组中查找元素的第一个和最后一个位置——二分法
- LeetCode34:在排序数组中查找元素的第一个和最后一个位置,java实现
- Leetcode34-在排序数组中查找元素的第一个和最后一个位置
- leetcode34---在排序数组中查找元素的第一个和最后一个位置
- Leetcode:34二分法查找之在排序数组中查找元素的第一个和最后一个位置
- leetcode34.在排序数组中查找元素的第一个和最后一个位置
- Leetcode34. 在排序数组中查找元素的第一个和最后一个位置
- 【leetcode】33. 搜索旋转排序数组&&34. 在排序数组中查找元素的第一个和最后一个位置(java实现)
- leetcode34. 在排序数组中查找元素的第一个和最后一个位置(c++)
- leetcode 34. 在排序数组中查找元素的第一个和最后一个位置
- LeetCode 034 在排序数组中查找元素的第一个和最后一个位置
- leetcode--在排序数组中查找元素的第一个和最后一个位置--python
- LeetCode34. 在排序数组中查找元素的第一个和最后一个位置(Java)
- leetcode 34. 在排序数组中查找元素的第一个和最后一个位置
- LeetCode 34.在排序数组中查找元素的第一个和最后一个位置 c++
- 34. 在排序数组中查找元素的第一个和最后一个位置
- 【Leetcode】34. 在排序数组中查找元素的第一个和最后一个位置[需优化]
- Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置