Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit cd295c0

Browse files
refactor 379
1 parent 74dc61a commit cd295c0

File tree

1 file changed

+47
-43
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+47
-43
lines changed

src/main/java/com/fishercoder/solutions/_379.java

Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
import java.util.Queue;
66
import java.util.Set;
77

8-
/**Design a Phone Directory which supports the following operations:
8+
/**
9+
* 379. Design Phone Directory
10+
*
11+
* Design a Phone Directory which supports the following operations:
912
1013
get: Provide a number which is not assigned to anyone.
1114
check: Check if a number is available or not.
@@ -38,53 +41,54 @@
3841
*/
3942
public class _379 {
4043

41-
private class PhoneDirectory {
42-
private Queue<Integer> phoneDir;
43-
private Set<Integer> used;
44-
45-
/**
46-
* Initialize your data structure here
47-
*
48-
* @param maxNumbers - The maximum numbers that can be stored in the phone directory.
49-
*/
50-
public PhoneDirectory(int maxNumbers) {
51-
phoneDir = new LinkedList();
52-
int number = 0;
53-
while (maxNumbers-- > 0) {
54-
phoneDir.add(number++);
44+
public static class Solution1 {
45+
private class PhoneDirectory {
46+
private Queue<Integer> phoneDir;
47+
private Set<Integer> used;
48+
49+
/**
50+
* Initialize your data structure here
51+
*
52+
* @param maxNumbers - The maximum numbers that can be stored in the phone directory.
53+
*/
54+
public PhoneDirectory(int maxNumbers) {
55+
phoneDir = new LinkedList();
56+
int number = 0;
57+
while (maxNumbers-- > 0) {
58+
phoneDir.add(number++);
59+
}
60+
used = new HashSet();
5561
}
56-
used = new HashSet();
57-
}
5862

59-
/**
60-
* Provide a number which is not assigned to anyone.
61-
*
62-
* @return - Return an available number. Return -1 if none is available.
63-
*/
64-
public int get() {
65-
if (phoneDir.peek() == null) {
66-
return -1;
63+
/**
64+
* Provide a number which is not assigned to anyone.
65+
*
66+
* @return - Return an available number. Return -1 if none is available.
67+
*/
68+
public int get() {
69+
if (phoneDir.peek() == null) {
70+
return -1;
71+
}
72+
int newNumber = phoneDir.poll();
73+
used.add(newNumber);
74+
return newNumber;
6775
}
68-
int newNumber = phoneDir.poll();
69-
used.add(newNumber);
70-
return newNumber;
71-
}
7276

73-
/**
74-
* Check if a number is available or not.
75-
*/
76-
public boolean check(int number) {
77-
return !used.contains(number);
78-
}
77+
/**
78+
* Check if a number is available or not.
79+
*/
80+
public boolean check(int number) {
81+
return !used.contains(number);
82+
}
7983

80-
/**
81-
* Recycle or release a number.
82-
*/
83-
public void release(int number) {
84-
if (used.remove(number)) {
85-
phoneDir.add(number);
84+
/**
85+
* Recycle or release a number.
86+
*/
87+
public void release(int number) {
88+
if (used.remove(number)) {
89+
phoneDir.add(number);
90+
}
8691
}
8792
}
8893
}
89-
90-
}
94+
}

0 commit comments

Comments
 (0)