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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy