From 04d4b3ed29ba2d56e9f2bccaa5223a5dfe1d1992 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Sat, 1 Mar 2025 10:43:46 -0300 Subject: [PATCH] [REFACTOR] [Hacker Rank] Interview Preparation Kit: Arrays: New Year Chaos. Clean code: no magic numbers. --- .../interview_preparation_kit/arrays/NewYearChaos.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/arrays/NewYearChaos.java b/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/arrays/NewYearChaos.java index f966bc3..0dcbf99 100644 --- a/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/arrays/NewYearChaos.java +++ b/algorithm-exercises-java/src/main/java/ae/hackerrank/interview_preparation_kit/arrays/NewYearChaos.java @@ -13,6 +13,8 @@ public class NewYearChaos { private NewYearChaos() {} static final String TOO_CHAOTIC_ERROR = "Too chaotic"; + static final int NEW_YEAR_CHAOS_TOLERANCE = 2; + /** * minimumBribesCalculate. @@ -25,11 +27,13 @@ public static Integer minimumBribesCalculate(List q) { for (Integer value : q) { int position = i + 1; - if (value - position > 2) { + if (value - position > NEW_YEAR_CHAOS_TOLERANCE) { throw new IllegalStateException(TOO_CHAOTIC_ERROR); } - List fragment = q.subList(Math.min(Math.max(value - 2, 0), i), i); + List fragment = q.subList( + Math.min(Math.max(value - NEW_YEAR_CHAOS_TOLERANCE, 0), i), i + ); for (Integer k : fragment) { if (k > value) {