From 33e6d276e494647db75b7daab7494174843689e6 Mon Sep 17 00:00:00 2001 From: vil02 <65706193+vil02@users.noreply.github.com> Date: Wed, 18 Sep 2024 17:54:29 +0200 Subject: [PATCH] style: use `getOrDefault` in `MajorityElement` --- .../hashmap/hashing/MajorityElement.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MajorityElement.java b/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MajorityElement.java index 56d2b0ef930c..0321f23b2f65 100644 --- a/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MajorityElement.java +++ b/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MajorityElement.java @@ -18,17 +18,13 @@ This method returns the majority element(s) in the given array of integers. */ public static List majority(int[] nums) { HashMap numToCount = new HashMap<>(); - int n = nums.length; - for (int i = 0; i < n; i++) { - if (numToCount.containsKey(nums[i])) { - numToCount.put(nums[i], numToCount.get(nums[i]) + 1); - } else { - numToCount.put(nums[i], 1); - } + for (final var num : nums) { + final var curCount = numToCount.getOrDefault(num, 0); + numToCount.put(num, curCount + 1); } List majorityElements = new ArrayList<>(); for (final var entry : numToCount.entrySet()) { - if (entry.getValue() >= n / 2) { + if (entry.getValue() >= nums.length / 2) { majorityElements.add(entry.getKey()); } }