diff --git a/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/CountTriplets.java b/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/CountTriplets.java index d46993d..b21e553 100644 --- a/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/CountTriplets.java +++ b/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/CountTriplets.java @@ -32,8 +32,9 @@ static long countTriplets(List arr, long r) { } } - long jItem; - long kItem; + long prevItemCount; + long nextItemCount; + Long currentItemCount; for (Long item : arr) { Long j = item / r; @@ -41,15 +42,14 @@ static long countTriplets(List arr, long r) { aCounter.put(item, aCounter.get(item) - 1L); - jItem = bCounter.get(j) != null ? bCounter.get(j) : 0L; - kItem = aCounter.get(k) != null ? aCounter.get(k) : 0L; + prevItemCount = bCounter.get(j) != null ? bCounter.get(j) : 0L; + nextItemCount = aCounter.get(k) != null ? aCounter.get(k) : 0L; if (item % r == 0) { - triplets += jItem * kItem; + triplets += prevItemCount * nextItemCount; } - Long bItem = bCounter.get(item); - - bCounter.put(item, bItem != null ? bItem + 1L : 1L); + currentItemCount = bCounter.get(item); + bCounter.put(item, currentItemCount != null ? currentItemCount + 1L : 1L); } return triplets;