leetcode Search for a Range
2015-04-22 22:04
363 查看
代码:
#include<iostream> #include<vector> using namespace std; int searchSmallest(int A[], int n, int target){ int l = 0; int r = n - 1; while (l <= r){ int mid = (l + r) / 2; if (target <= A[mid]){ r = mid-1; } else{ l = mid+1; } } if (A[r + 1] == target) return r + 1; else return -1; } int searchLargest(int A[], int n, int target){ int l = 0; int r = n - 1; while (l <= r){ int mid = (l+ r) / 2; if (target >= A[mid]){ l = mid+1; } else{ r = mid - 1; } } if (A[l-1] == target) return l - 1; else return -1; } vector<int> searchRange(int A[], int n, int target) { vector<int> result; int a = searchSmallest(A, n, target); int b = searchLargest(A, n, target); result.push_back(a); result.push_back(b); return result; } int main(){ int a[] = {1}; cout << searchSmallest(a, 1, 1) << endl; cout << searchLargest(a, 1, 1) << endl; vector<int> result = searchRange(a, 1, 1); for (int i = 0; i < result.size(); i++){ cout << result[i] << endl; } }
相关文章推荐
- LeetCode--Search for a Range
- Search for a Range <leetcode>
- 算法分析与设计课程(5):【leetcode】Search for a Range
- LeetCode - Refresh - Search for a Range
- LeetCode --- 34. Search for a Range
- leetcode题解-34. Search for a Range
- Leetcode-Search for a Range(折半查找)
- [LeetCode] Search for a Range
- LeetCode 38: Search for a Range
- [LeetCode]problem 34. Search for a Range
- leetcode 34. Search for a Range
- 【LeetCode】C# 34、Search for a Range
- Leetcode||34. Search for a Range
- [Leetcode]_34 Search for a Range
- LeetCode:Search for a Range
- Leetcode——34. Search for a Range
- LeetCode(34)Search for a Range
- LeetCode解题报告--Search for a Range
- [Leetcode] Search for a Range
- [LeetCode]34. Search for a Range