Skip to content

Commit 410ffd7

Browse files
authored
Merge pull request #306 from sir-gon/develop
[Hacker Rank] Interview Preparation Kit: Dictionaries and Hashmaps: F…
2 parents bc55ae8 + 25adb64 commit 410ffd7

File tree

1 file changed

+17
-3
lines changed
  • algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps

1 file changed

+17
-3
lines changed

algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/FrequencyQueries.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,27 @@ void delete(Long value) {
8787
}
8888
}
8989

90+
void reset() {
91+
this.result = new ArrayList<>();
92+
}
93+
94+
void select(Long value) {
95+
this.result.add(this.freqMap.containsKey(value) ? __FOUND__ : __NOT_FOUND__);
96+
}
97+
98+
static FrequencyQueries factory() {
99+
FrequencyQueries fq = new FrequencyQueries();
100+
fq.reset();
101+
102+
return fq;
103+
}
104+
90105
/**
91106
* FrequencyQueries.
92107
*/
93108
static List<Integer> freqQuery(List<List<Integer>> queries) {
94109

95-
FrequencyQueries fq = new FrequencyQueries();
96-
fq.result = new ArrayList<>();
110+
FrequencyQueries fq = FrequencyQueries.factory();
97111

98112
for (List<Integer> query : queries) {
99113
int operation = query.get(0);
@@ -109,7 +123,7 @@ static List<Integer> freqQuery(List<List<Integer>> queries) {
109123

110124
break;
111125
case __SELECT__:
112-
fq.result.add(fq.freqMap.containsKey(value) ? __FOUND__ : __NOT_FOUND__);
126+
fq.select(value);
113127
break;
114128
default:
115129
throw new IllegalArgumentException(

0 commit comments

Comments
 (0)