3 Medium-Level HackerRank Problems Every Java Developer Should Practice

🚀 Top 3 Medium-Level HackerRank Problems (Java) Every Developer Should Practice If you're preparing for coding interviews, mastering medium-level problems is 🔑. They test your ability to apply DSA concepts in real scenarios. Here are 3 must-solve problems with clean Java solutions 👇 --- 1️⃣ Balanced Brackets 👉 Validate if brackets are properly matched Approach: Use Stack import java.util.*; public class Solution { public static String isBalanced(String s) { Stack<Character> stack = new Stack<>(); Map<Character, Character> map = new HashMap<>(); map.put(')', '('); map.put('}', '{'); map.put(']', '['); for (char ch : s.toCharArray()) { if (map.containsValue(ch)) { stack.push(ch); } else { if (stack.isEmpty() || stack.peek() != map.get(ch)) { return "NO"; } stack.pop(); } } return stack.isEmpty() ? "YES" : "NO"; } } --- 2️⃣ Two Strings 👉 Check if two strings share a common substring Approach: Use HashSet import java.util.*; public class Solution { public static String twoStrings(String s1, String s2) { Set<Character> set = new HashSet<>(); for (char c : s1.toCharArray()) { set.add(c); } for (char c : s2.toCharArray()) { if (set.contains(c)) { return "YES"; } } return "NO"; } } --- 3️⃣ Sherlock and Anagrams 👉 Count anagrammatic substring pairs Approach: Sort substrings + HashMap import java.util.*; public class Solution { public static int sherlockAndAnagrams(String s) { Map<String, Integer> map = new HashMap<>(); for (int i = 0; i < s.length(); i++) { for (int j = i + 1; j <= s.length(); j++) { char[] arr = s.substring(i, j).toCharArray(); Arrays.sort(arr); String key = new String(arr); map.put(key, map.getOrDefault(key, 0) + 1); } } int count = 0; for (int val : map.values()) { count += val * (val - 1) / 2; } return count; } } --- 💡 Pro Tip: Most medium problems rely on: ✔ Hashing ✔ Sorting ✔ Greedy logic ✔ Stack/Queue --- 🔥 Consistency > Intensity Solve 2–3 problems daily → You’ll start recognizing patterns quickly! #Java #HackerRank #CodingInterview #DataStructures #Algorithms #SoftwareDeveloper

To view or add a comment, sign in

Explore content categories