Skip to content

Commit 580e59d

Browse files
committed
First Bad Version: binary search. mid = (l>>1)+(r>>1)+(l&r&1);
1 parent 42dd429 commit 580e59d

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Easy/278_First-Bad-Version.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#include "../Header.h"
2+
3+
using namespace std;
4+
int firstBadVersion(int n) {
5+
int l = 1, r = n, mid;
6+
while (l < r) {
7+
mid = (l >> 1) + (r >> 1) + (l & 1 & r);
8+
if (isBadVersion(mid)) r = mid;
9+
else l = mid + 1;
10+
}
11+
return r;
12+
}

0 commit comments

Comments
 (0)