Skip to content

Commit 2db9b40

Browse files
committed
fix 03-firstlast_recursion.cpp in T038
1 parent 98b2816 commit 2db9b40

File tree

5 files changed

+24
-24
lines changed

5 files changed

+24
-24
lines changed

038-数字在排序数组中出现的次数/01-bruteforce.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using namespace std;
66

77

88

9-
// µ÷ÊÔ¿ª¹Ø
9+
// 调试开关
1010
#define __tmain main
1111

1212
#ifdef __tmain

038-数字在排序数组中出现的次数/03-firstlast_recursion.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ using namespace std;
1414

1515
#define debug 0 && cout
1616

17-
#highif // __tmain
17+
#endif // __tmain
1818

1919
class Solution
2020
{
@@ -33,13 +33,13 @@ class Solution
3333

3434
if(first > -1 && last > -1)
3535
{
36-
number = last - first +1;
37-
return number;
36+
number = last - first + 1;
3837
}
38+
return number;
3939
}
4040

4141
/* 查找第一个的位置 */
42-
int GetFirstIndex(vector<int> &data, int low, int high, int k)
42+
int GetFirstIndex(vector<int> &data, int k, int low, int high)
4343
{
4444
if(low > high)
4545
{
@@ -71,7 +71,7 @@ class Solution
7171
return GetFirstIndex(data, k, low, high);
7272
}
7373

74-
int GetLastIndex(vector<int> &data, int low, int high, int k)
74+
int GetLastIndex(vector<int> &data, int k, int low, int high)
7575
{
7676
if(low > high)
7777
{
@@ -81,28 +81,28 @@ class Solution
8181
int mid = (low + high) / 2;
8282
if(data[mid]==k)
8383
{
84-
if((mid>0 && data[mid+1] !=k) || mid == high)
84+
if((mid < high && data[mid+1] != k) || mid == high)
8585
{
8686
return mid;
8787
}
8888
else
8989
{
90-
low = mid +1;
90+
low = mid + 1;
9191
}
9292
}
9393
else
9494
{
95-
if(mid>k)
95+
if(mid > k)
9696
{
97-
high = mid-1;
97+
high = mid - 1;
9898
}
9999
else
100100
{
101-
low = mid+1;
101+
low = mid + 1;
102102
}
103103
}
104104

105-
return GetLastIndex(data,k,low,high);
105+
return GetLastIndex(data, k, low, high);
106106
}
107107
};
108108

@@ -114,7 +114,7 @@ int __tmain( )
114114

115115
int arr[] = { 1, 2, 3, 3, 3, 3, 4, 5 };
116116
vector<int> vec(arr, arr + 8);
117-
cout <<solu.GetNumberOfK(vec, 5) <<highl;
117+
cout <<solu.GetNumberOfK(vec, 5) <<endl;
118118

119119
return 0;
120120
}

038-数字在排序数组中出现的次数/03-firstlast_stlbound.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class Solution
2525
public:
2626
int GetNumberOfK(vector<int> data ,int k)
2727
{
28-
int upper = upper_bound(data.begin(),data.end(),k)£»
28+
int upper = upper_bound(data.begin(),data.end(),k);
2929
int low = lower_bound(data.begin(),data.end(),k);
3030
return upper - low;
3131
}

038-数字在排序数组中出现的次数/04-multiset.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ using namespace std;
77

88

99

10-
// µ÷ÊÔ¿ª¹Ø
10+
// 调试开关
1111
#define __tmain main
1212

1313
#ifdef __tmain

038-数字在排序数组中出现的次数/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,13 @@ public:
235235

236236
if(first > -1 && last > -1)
237237
{
238-
number = last - first +1;
239-
return number;
238+
number = last - first + 1;
240239
}
240+
return number;
241241
}
242242

243243
// 查找第一个的位置
244-
int GetFirstIndex(vector<int> &data, int low, int high, int k)
244+
int GetFirstIndex(vector<int> &data, int k, int low, int high)
245245
{
246246
if(low > high)
247247
{
@@ -273,7 +273,7 @@ public:
273273
return GetFirstIndex(data, k, low, high);
274274
}
275275

276-
int GetLastIndex(vector<int> &data, int low, int high, int k)
276+
int GetLastIndex(vector<int> &data, int k, int low, int high)
277277
{
278278
if(low > high)
279279
{
@@ -283,28 +283,28 @@ public:
283283
int mid = (low + high) / 2;
284284
if(data[mid]==k)
285285
{
286-
if((mid>0 && data[mid+1] !=k) || mid == high)
286+
if((mid < high && data[mid+1] != k) || mid == high)
287287
{
288288
return mid;
289289
}
290290
else
291291
{
292-
low = mid +1;
292+
low = mid + 1;
293293
}
294294
}
295295
else
296296
{
297297
if(mid>k)
298298
{
299-
high = mid-1;
299+
high = mid - 1;
300300
}
301301
else
302302
{
303-
low = mid+1;
303+
low = mid + 1;
304304
}
305305
}
306306

307-
return GetLastIndex(data,k,low,high);
307+
return GetLastIndex(data, k, low, high);
308308
}
309309
};
310310
```

0 commit comments

Comments
 (0)