Skip to content

Commit 84c0414

Browse files
Phone Directory
1 parent f4077ed commit 84c0414

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

MEDIUM/src/medium/PhoneDirectory.java

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package medium;
2+
3+
public class PhoneDirectory {
4+
5+
boolean[] availableNumbers;
6+
7+
/** Initialize your data structure here
8+
@param maxNumbers - The maximum numbers that can be stored in the phone directory. */
9+
public PhoneDirectory(int maxNumbers) {
10+
availableNumbers = new boolean[maxNumbers];
11+
for(int i = 0; i < maxNumbers; i++){
12+
availableNumbers[i] = true;
13+
}
14+
}
15+
16+
/** Provide a number which is not assigned to anyone.
17+
@return - Return an available number. Return -1 if none is available. */
18+
public int get() {
19+
for(int i = 0; i < availableNumbers.length; i++){
20+
if(availableNumbers[i]) {
21+
availableNumbers[i] = false;
22+
return i;
23+
}
24+
}
25+
return -1;
26+
}
27+
28+
/** Check if a number is available or not. */
29+
public boolean check(int number) {
30+
return availableNumbers[number];
31+
}
32+
33+
/** Recycle or release a number. */
34+
public void release(int number) {
35+
availableNumbers[number] =true;
36+
}
37+
38+
}

0 commit comments

Comments
 (0)