Skip to content

Commit 118e44d

Browse files
committed
feat: add solutions to lc problem: No.0374. Guess Number Higher of Lower
1 parent 5749453 commit 118e44d

File tree

7 files changed

+175
-84
lines changed

7 files changed

+175
-84
lines changed

solution/0300-0399/0374.Guess Number Higher or Lower/README.md

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,14 @@
8181

8282
class Solution:
8383
def guessNumber(self, n: int) -> int:
84-
low, high = 0, n
85-
while low < high:
86-
mid = low + high >> 1
84+
left, right = 1, n
85+
while left < right:
86+
mid = (left + right) >> 1
8787
if guess(mid) <= 0:
88-
high = mid
88+
right = mid
8989
else:
90-
low = mid + 1
91-
return low
90+
left = mid + 1
91+
return left
9292
```
9393

9494
### **Java**
@@ -107,16 +107,16 @@ class Solution:
107107

108108
public class Solution extends GuessGame {
109109
public int guessNumber(int n) {
110-
int low = 1, high = n;
111-
while (low < high) {
112-
int mid = low + high >>> 1;
110+
int left = 1, right = n;
111+
while (left < right) {
112+
int mid = (left + right) >>> 1;
113113
if (guess(mid) <= 0) {
114-
high = mid;
114+
right = mid;
115115
} else {
116-
low = mid + 1;
116+
left = mid + 1;
117117
}
118118
}
119-
return low;
119+
return left;
120120
}
121121
}
122122
```
@@ -136,24 +136,24 @@ public class Solution extends GuessGame {
136136
class Solution {
137137
public:
138138
int guessNumber(int n) {
139-
int low = 1, high = n;
140-
while (low < high) {
141-
int mid = low + (high - low) / 2;
139+
int left = 1, right = n;
140+
while (left < right) {
141+
int mid = left + ((right - left) >> 1);
142142
if (guess(mid) <= 0) {
143-
high = mid;
143+
right = mid;
144144
} else {
145-
low = mid + 1;
145+
left = mid + 1;
146146
}
147147
}
148-
return low;
148+
return left;
149149
}
150150
};
151151
```
152152
153153
### **Go**
154154
155155
```go
156-
/**
156+
/**
157157
* Forward declaration of guess API.
158158
* @param num your guess
159159
* @return -1 if num is lower than the guess number
@@ -163,16 +163,48 @@ public:
163163
*/
164164
165165
func guessNumber(n int) int {
166-
low, high := 1, n
167-
for low < high {
168-
mid := (low + high) >> 1
169-
if guess(mid) <= 0 {
170-
high = mid
171-
} else {
172-
low = mid + 1
166+
left, right := 1, n
167+
for left < right {
168+
mid := (left + right) >> 1
169+
if guess(mid) <= 0 {
170+
right = mid
171+
} else {
172+
left = mid + 1
173+
}
174+
}
175+
return left
176+
}
177+
```
178+
179+
### **C#**
180+
181+
```cs
182+
/**
183+
* Forward declaration of guess API.
184+
* @param num your guess
185+
* @return -1 if num is lower than the guess number
186+
* 1 if num is higher than the guess number
187+
* otherwise return 0
188+
* int guess(int num);
189+
*/
190+
191+
public class Solution : GuessGame {
192+
public int GuessNumber(int n) {
193+
int left = 1, right = n;
194+
while (left < right)
195+
{
196+
int mid = left + ((right - left) >> 1);
197+
if (guess(mid) <= 0)
198+
{
199+
right = mid;
200+
}
201+
else
202+
{
203+
left = mid + 1;
204+
}
173205
}
206+
return left;
174207
}
175-
return low
176208
}
177209
```
178210

solution/0300-0399/0374.Guess Number Higher or Lower/README_EN.md

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@
5757

5858
class Solution:
5959
def guessNumber(self, n: int) -> int:
60-
low, high = 0, n
61-
while low < high:
62-
mid = low + high >> 1
60+
left, right = 1, n
61+
while left < right:
62+
mid = (left + right) >> 1
6363
if guess(mid) <= 0:
64-
high = mid
64+
right = mid
6565
else:
66-
low = mid + 1
67-
return low
66+
left = mid + 1
67+
return left
6868
```
6969

7070
### **Java**
@@ -81,16 +81,16 @@ class Solution:
8181

8282
public class Solution extends GuessGame {
8383
public int guessNumber(int n) {
84-
int low = 1, high = n;
85-
while (low < high) {
86-
int mid = low + high >>> 1;
84+
int left = 1, right = n;
85+
while (left < right) {
86+
int mid = (left + right) >>> 1;
8787
if (guess(mid) <= 0) {
88-
high = mid;
88+
right = mid;
8989
} else {
90-
low = mid + 1;
90+
left = mid + 1;
9191
}
9292
}
93-
return low;
93+
return left;
9494
}
9595
}
9696
```
@@ -110,24 +110,24 @@ public class Solution extends GuessGame {
110110
class Solution {
111111
public:
112112
int guessNumber(int n) {
113-
int low = 1, high = n;
114-
while (low < high) {
115-
int mid = low + (high - low) / 2;
113+
int left = 1, right = n;
114+
while (left < right) {
115+
int mid = left + ((right - left) >> 1);
116116
if (guess(mid) <= 0) {
117-
high = mid;
117+
right = mid;
118118
} else {
119-
low = mid + 1;
119+
left = mid + 1;
120120
}
121121
}
122-
return low;
122+
return left;
123123
}
124124
};
125125
```
126126
127127
### **Go**
128128
129129
```go
130-
/**
130+
/**
131131
* Forward declaration of guess API.
132132
* @param num your guess
133133
* @return -1 if num is lower than the guess number
@@ -137,16 +137,48 @@ public:
137137
*/
138138
139139
func guessNumber(n int) int {
140-
low, high := 1, n
141-
for low < high {
142-
mid := (low + high) >> 1
143-
if guess(mid) <= 0 {
144-
high = mid
145-
} else {
146-
low = mid + 1
140+
left, right := 1, n
141+
for left < right {
142+
mid := (left + right) >> 1
143+
if guess(mid) <= 0 {
144+
right = mid
145+
} else {
146+
left = mid + 1
147+
}
148+
}
149+
return left
150+
}
151+
```
152+
153+
### **C#**
154+
155+
```cs
156+
/**
157+
* Forward declaration of guess API.
158+
* @param num your guess
159+
* @return -1 if num is lower than the guess number
160+
* 1 if num is higher than the guess number
161+
* otherwise return 0
162+
* int guess(int num);
163+
*/
164+
165+
public class Solution : GuessGame {
166+
public int GuessNumber(int n) {
167+
int left = 1, right = n;
168+
while (left < right)
169+
{
170+
int mid = left + ((right - left) >> 1);
171+
if (guess(mid) <= 0)
172+
{
173+
right = mid;
174+
}
175+
else
176+
{
177+
left = mid + 1;
178+
}
147179
}
180+
return left;
148181
}
149-
return low
150182
}
151183
```
152184

solution/0300-0399/0374.Guess Number Higher or Lower/Solution.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
class Solution {
1111
public:
1212
int guessNumber(int n) {
13-
int low = 1, high = n;
14-
while (low < high) {
15-
int mid = low + (high - low) / 2;
13+
int left = 1, right = n;
14+
while (left < right) {
15+
int mid = left + ((right - left) >> 1);
1616
if (guess(mid) <= 0) {
17-
high = mid;
17+
right = mid;
1818
} else {
19-
low = mid + 1;
19+
left = mid + 1;
2020
}
2121
}
22-
return low;
22+
return left;
2323
}
2424
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* Forward declaration of guess API.
3+
* @param num your guess
4+
* @return -1 if num is lower than the guess number
5+
* 1 if num is higher than the guess number
6+
* otherwise return 0
7+
* int guess(int num);
8+
*/
9+
10+
public class Solution : GuessGame {
11+
public int GuessNumber(int n) {
12+
int left = 1, right = n;
13+
while (left < right)
14+
{
15+
int mid = left + ((right - left) >> 1);
16+
if (guess(mid) <= 0)
17+
{
18+
right = mid;
19+
}
20+
else
21+
{
22+
left = mid + 1;
23+
}
24+
}
25+
return left;
26+
}
27+
}
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/**
1+
/**
22
* Forward declaration of guess API.
33
* @param num your guess
44
* @return -1 if num is lower than the guess number
@@ -7,15 +7,15 @@
77
* func guess(num int) int;
88
*/
99

10-
func guessNumber(n int) int {
11-
low, high := 1, n
12-
for low < high {
13-
mid := (low + high) >> 1
14-
if guess(mid) <= 0 {
15-
high = mid
16-
} else {
17-
low = mid + 1
18-
}
19-
}
20-
return low
10+
func guessNumber(n int) int {
11+
left, right := 1, n
12+
for left < right {
13+
mid := (left + right) >> 1
14+
if guess(mid) <= 0 {
15+
right = mid
16+
} else {
17+
left = mid + 1
18+
}
19+
}
20+
return left
2121
}

solution/0300-0399/0374.Guess Number Higher or Lower/Solution.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99

1010
public class Solution extends GuessGame {
1111
public int guessNumber(int n) {
12-
int low = 1, high = n;
13-
while (low < high) {
14-
int mid = low + high >>> 1;
12+
int left = 1, right = n;
13+
while (left < right) {
14+
int mid = (left + right) >>> 1;
1515
if (guess(mid) <= 0) {
16-
high = mid;
16+
right = mid;
1717
} else {
18-
low = mid + 1;
18+
left = mid + 1;
1919
}
2020
}
21-
return low;
21+
return left;
2222
}
2323
}

solution/0300-0399/0374.Guess Number Higher or Lower/Solution.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55

66
class Solution:
77
def guessNumber(self, n: int) -> int:
8-
low, high = 0, n
9-
while low < high:
10-
mid = low + high >> 1
8+
left, right = 1, n
9+
while left < right:
10+
mid = (left + right) >> 1
1111
if guess(mid) <= 0:
12-
high = mid
12+
right = mid
1313
else:
14-
low = mid + 1
15-
return low
14+
left = mid + 1
15+
return left

0 commit comments

Comments
 (0)