@@ -47,14 +47,14 @@ class Solution:
47
47
:type n: int
48
48
:rtype: int
49
49
"""
50
- low, high = 1 , n
51
- while low < high :
52
- mid = (low + high ) >> 1
50
+ left, right = 1 , n
51
+ while left < right :
52
+ mid = (left + right ) >> 1
53
53
if isBadVersion(mid):
54
- high = mid
54
+ right = mid
55
55
else :
56
- low = mid + 1
57
- return low
56
+ left = mid + 1
57
+ return left
58
58
```
59
59
60
60
### ** Java**
@@ -67,13 +67,16 @@ class Solution:
67
67
68
68
public class Solution extends VersionControl {
69
69
public int firstBadVersion (int n ) {
70
- int low = 1 , high = n;
71
- while (low < high) {
72
- int mid = (low + high) >>> 1 ;
73
- if (isBadVersion(mid)) high = mid;
74
- else low = mid + 1 ;
70
+ int left = 1 , right = n;
71
+ while (left < right) {
72
+ int mid = (left + right) >>> 1 ;
73
+ if (isBadVersion(mid)) {
74
+ right = mid;
75
+ } else {
76
+ left = mid + 1 ;
77
+ }
75
78
}
76
- return low ;
79
+ return left ;
77
80
}
78
81
}
79
82
```
@@ -87,16 +90,16 @@ public class Solution extends VersionControl {
87
90
class Solution {
88
91
public:
89
92
int firstBadVersion(int n) {
90
- int low = 1, high = n;
91
- while (low < high ) {
92
- int mid = low + (high - low) / 2 ;
93
+ int left = 1, right = n;
94
+ while (left < right ) {
95
+ int mid = left + ((right - left) >> 1) ;
93
96
if (isBadVersion(mid)) {
94
- high = mid;
97
+ right = mid;
95
98
} else {
96
- low = mid + 1;
99
+ left = mid + 1;
97
100
}
98
101
}
99
- return low ;
102
+ return left ;
100
103
}
101
104
};
102
105
```
@@ -106,7 +109,7 @@ public:
106
109
```js
107
110
/**
108
111
* Definition for isBadVersion()
109
- *
112
+ *
110
113
* @param {integer} version number
111
114
* @return {boolean} whether the version is bad
112
115
* isBadVersion = function(version) {
@@ -118,49 +121,49 @@ public:
118
121
* @param {function} isBadVersion()
119
122
* @return {function}
120
123
*/
121
- var solution = function (isBadVersion) {
122
- /**
123
- * @param {integer} n Total versions
124
- * @return {integer} The first bad version
125
- */
126
- return function (n) {
127
- let low = 1,
128
- high = n;
129
- while (low < high ) {
130
- const mid = (low + high ) >>> 1;
131
- if (isBadVersion(mid)) {
132
- high = mid;
133
- } else {
134
- low = mid + 1;
135
- }
136
- }
137
- return low ;
138
- };
124
+ var solution = function(isBadVersion) {
125
+ /**
126
+ * @param {integer} n Total versions
127
+ * @return {integer} The first bad version
128
+ */
129
+ return function(n) {
130
+ let left = 1;
131
+ let right = n;
132
+ while (left < right ) {
133
+ const mid = (left + right ) >>> 1;
134
+ if (isBadVersion(mid)) {
135
+ right = mid;
136
+ } else {
137
+ left = mid + 1;
138
+ }
139
+ }
140
+ return left ;
141
+ };
139
142
};
140
143
```
141
144
142
145
### ** Go**
143
146
144
147
``` go
145
- /* *
148
+ /* *
146
149
* Forward declaration of isBadVersion API.
147
150
* @param version your guess about first bad version
148
- * @return true if current version is bad
151
+ * @return true if current version is bad
149
152
* false if current version is good
150
153
* func isBadVersion(version int) bool;
151
154
*/
152
155
153
156
func firstBadVersion (n int ) int {
154
- low , high := 1 , n
155
- for low < high {
156
- mid := (low + high ) >> 1
157
- if isBadVersion (mid) {
158
- high = mid
159
- } else {
160
- low = mid + 1
161
- }
162
- }
163
- return low
157
+ left , right := 1 , n
158
+ for left < right {
159
+ mid := (left + right ) >> 1
160
+ if isBadVersion (mid) {
161
+ right = mid
162
+ } else {
163
+ left = mid + 1
164
+ }
165
+ }
166
+ return left
164
167
}
165
168
```
166
169
0 commit comments