File tree 1 file changed +38
-0
lines changed
1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments