File tree Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+
4
+ int lowerBound (vector<int >& nums, int target)
5
+ {
6
+ int ans = -1 ;
7
+ int s = 0 , e = nums.size () - 1 ;
8
+
9
+ while (s<=e)
10
+ {
11
+ int mid = s + (e-s)/2 ;
12
+ if (nums[mid] == target)
13
+ {
14
+ ans = mid;
15
+ e = mid - 1 ;
16
+ }
17
+ else if (nums[mid] > target)
18
+ e = mid -1 ;
19
+ else
20
+ s = mid + 1 ;
21
+ }
22
+ return ans;
23
+ }
24
+
25
+ int upperBound (vector<int >& nums, int target)
26
+ {
27
+ int ans = -1 ;
28
+ int s = 0 , e = nums.size () - 1 ;
29
+
30
+ while (s<=e)
31
+ {
32
+ int mid = s + (e-s)/2 ;
33
+ if (nums[mid] == target)
34
+ {
35
+ ans = mid;
36
+ s = mid + 1 ;
37
+ }
38
+ else if (nums[mid] > target)
39
+ e = mid -1 ;
40
+ else
41
+ s = mid + 1 ;
42
+ }
43
+ return ans;
44
+ }
45
+
46
+ vector<int > searchRange (vector<int >& nums, int target) {
47
+ int lower = lowerBound (nums, target);
48
+ int upper = upperBound (nums, target);
49
+ vector<int > ans;
50
+ ans.push_back (lower);
51
+ ans.push_back (upper);
52
+ return ans;
53
+ }
54
+ };
You can’t perform that action at this time.
0 commit comments