🚀 Beats 100% of all Java solutions on LeetCode! Just solved LeetCode #290 — Word Pattern in Java with 0ms runtime, outperforming every submission. Here's how I approached it 👇 🧩 Problem: Given a pattern (like "abba") and a string of words, check if the words follow the exact same pattern — a full bijection. e.g. pattern = "abba", s = "dog cat cat dog" → true ✅ 💡 My approach: Used a single HashMap<Character, String> to map each pattern character to its corresponding word. The key insight: also check containsValue() to prevent two different characters from mapping to the same word — ensuring true one-to-one bijection. 📊 Results: Runtime: 0 ms — Beats 100.00% 🌿 Memory: 42.65 MB — Beats 80.14% 🔑 Key takeaway: Always verify bijection in both directions — a one-way map is not enough for pattern matching problems. One extra containsValue() check is all it takes! All 44 test cases passed ✅ — Clean, simple, and blazing fast. #LeetCode #Java #DSA #CodingChallenge #ProblemSolving #100Percent #Programming #SoftwareEngineering #CompetitiveProgramming #HashMap
Bal Reddy Devarla’s Post
More Relevant Posts
-
Java Collections seem straightforward… until edge cases start showing up in real-world code. Here are a few more collection behaviors worth knowing 👇 • Null handling in collections HashMap allows one null key, Hashtable allows none — small difference, big impact. • contains() vs containsKey() Using the wrong one in Map can lead to incorrect checks. • Size vs Capacity (ArrayList) size() is actual elements, capacity is internal storage — confusion can lead to performance issues. • remove() ambiguity in List remove(1) removes by index, not value — use remove(Integer.valueOf(1)) for value. • equals() & hashCode() importance Custom objects in HashSet/HashMap need proper overrides or duplicates may appear. • Iteration order assumptions HashMap order is unpredictable — don’t rely on it unless using LinkedHashMap or TreeMap. • Immutable collections (List.of) They throw UnsupportedOperationException on modification — common runtime surprise. Small collection details like these often lead to big debugging sessions. #Java #BackendDevelopment #Programming
To view or add a comment, sign in
-
-
Day 36/100 – Working with ArrayList in Java 📚 Today I practiced using ArrayList in Java, a dynamic array that allows flexible storage and manipulation of data. Unlike normal arrays, ArrayList can grow and shrink dynamically, making it very useful in real-world applications. Key learnings: • Adding elements using add() • Storing multiple values dynamically • Finding size using size() • Easier and more flexible than traditional arrays Understanding collections like ArrayList is important for handling data efficiently in Java. Building strong fundamentals step by step. 🚀 #100DaysOfCode #Java #ArrayList #DataStructures #CodingJourney #LearningInPublic
To view or add a comment, sign in
-
-
🚀 Beats 100.00% of Java submissions! Just solved a LeetCode problem with 0ms runtime — faster than every other Java solution submitted. That's not something you see every day! ✅ The problem: Find the maximum product of two distinct integers in an array. Simple concept, but the key is doing it in a single O(n) pass — no sorting, no extra space. The approach: → Track the two largest numbers as you iterate → Return (first-1) × (second-1) → Done. Clean, fast, efficient. Every once in a while, the stars align and your solution hits that perfect mark. Today was that day. 💯 Keeping the momentum going — one problem at a time. 💪 #LeetCode #Java #DSA #CodingChallenge #100Percent #ProblemSolving #Programming #SoftwareEngineering #CompetitiveProgramming
To view or add a comment, sign in
-
-
Day 33/100 — Threads & Multithreading ⚡ Java can do multiple things at the same time using threads. Thread lifecycle: NEW → RUNNABLE → RUNNING → WAITING → TERMINATED 2 ways to create threads: // Method 1: extend Thread class MyThread extends Thread { public void run() { println("Running!"); } } new MyThread().start(); // NOT run()! // Method 2: Runnable lambda (preferred!) Thread t = new Thread(() -> println("Lambda thread!")); t.start(); Most important rule: ALWAYS call start() — NOT run()! → run() = normal method call (same thread) → start() = creates new thread and calls run() 3 things to remember: → Prefer Runnable over extending Thread → start() not run() → Multiple threads = race conditions possible! 🎯 Challenge: Create 3 threads that each print their name 5 times. Observe the interleaved output! #Java #Threads #Multithreading #CoreJava #100DaysOfJava #100DaysOfCode
To view or add a comment, sign in
-
-
Understanding Java Class Loading & Memory Areas Today, I learned how Java manages memory during Class Loading. It helped me understand what happens behind the scenes when a program runs. Simple Example: class Demo { static int x = 10; // Stored in Method/Class Area void show() { int y = 5; // Stored in Stack System.out.println(x + y); } } public class Main { public static void main(String[] args) { Demo obj = new Demo(); // Object stored in Heap obj.show(); } } **When this program runs: 1.Class is loaded into Method Area 2.Static variable (x) is initialized once 3.Object (obj) is created in Heap 4.Method execution happens in Stack #Java #Programming #LearningJourney #SDLC #Coding #Developer #CareerGrowth
To view or add a comment, sign in
-
-
Starting a 100-day Java series, and this is day 1 ☕ Today, we are covering Java variables - from syntax to scope to memory, all in one place. Declaration, data types, the 3 types of variables, casting, the final keyword and the mistakes most beginners make without realising. 10 slides covering everything. The last slide has a full cheat sheet worth saving.🔖 For more such tech content, follow @herbrewcode on Instagram too. #Java #Day1 #100DaysOfCode #LearnToCode #CodingJourney #HerBrewCode
To view or add a comment, sign in
-
Solved Simple Array Sum using LinkedList in Java 8 💻📊 Today I worked on the Simple Array Sum problem and implemented it using LinkedList in Java 8. 💡 What I learned: How to convert a List into a LinkedList Traversing elements efficiently using loops Using Java 8 Streams for cleaner and shorter code ⚙️ Approach: Converted input list into a LinkedList Iterated through elements and calculated sum Also explored stream().mapToInt().sum() for optimized solution 📌 Key Takeaway: Even simple problems help strengthen core concepts like data structures and improve coding efficiency. ⚡ Time Complexity: O(n) ⚡ Space Complexity: O(n) 👨💻 Consistent practice is helping me improve my problem-solving skills step by step. #Java #Java8 #LinkedList #Coding #ProblemSolving
To view or add a comment, sign in
-
-
Multithreading in Java finally clicked for me when I stopped memorizing it… and started visualizing it. 🧠 Here’s the simplest way to understand it: Imagine your application is doing only ONE task at a time. ➡️ Slow ➡️ Blocking ➡️ Poor performance Now introduce multithreading 👇 Multiple tasks run simultaneously: ✔ One thread handles API requests ✔ One processes data ✔ One writes logs Result? Faster and more efficient applications 🚀 But here’s what I learned the hard way: Multithreading is powerful… but dangerous if not handled properly. Common issues I faced: Race conditions Deadlocks Unexpected bugs What helped me: ✔ Proper synchronization ✔ Understanding thread lifecycle ✔ Using ExecutorService instead of manual threads Lesson: Multithreading is not just about speed — it’s about control and correctness. 💬 Have you faced any tricky bugs with multithreading? #Java #Multithreading #BackendDevelopment #SoftwareEngineering #Coding
To view or add a comment, sign in
-
🚀 **Day 4/30 – LeetCode Java Challenge** Today’s problem pushed me to think beyond basic comparisons and focus on **pattern-based validation**. Worked on a string problem where the key insight was separating characters based on **even and odd indices**, then comparing frequency distributions instead of direct string matching. 📊 **Result:** ✔️ Accepted (752/752 test cases) ⚡ Runtime: 5 ms (Beats 93.81%) 💾 Memory: Efficient (Beats 86.60%) 💡 **What actually mattered today:** * Brute force thinking won’t scale — pattern recognition does * Breaking a problem into smaller logical groups simplifies everything * Frequency arrays can outperform more complex data structures when used correctly Let’s be real: This wasn’t a hard problem, but the approach matters. If you miss the pattern, you overcomplicate it. If you see it early, the solution becomes clean and efficient. Day 4 done. Still building consistency, still sharpening fundamentals. Archana J E Bavani k Deepika Kannan Divya Suresh Hari priya B Devipriya R Harini B Bhavya B Kezia H Vaishnavi Janaki #LeetCode #Java #DSA #ProblemSolving #Consistency #30DaysOfCode
To view or add a comment, sign in
-
-
🚀 Day 18 – Java Streams: Writing Cleaner & Smarter Code Today I started exploring Java 8 Streams—a powerful way to process collections. Instead of writing traditional loops: List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5); for (int n : nums) { if (n % 2 == 0) { System.out.println(n); } } 👉 With Streams: nums.stream() .filter(n -> n % 2 == 0) .forEach(System.out::println); --- 💡 What I liked about Streams: ✔ More readable and expressive ✔ Encourages functional style programming ✔ Easy to chain operations (filter, map, reduce) --- ⚠️ Important insight: Streams don’t store data—they process data pipelines 👉 Also: Streams are lazy → operations execute only when a terminal operation (like "forEach") is called --- 💡 Real takeaway: Streams are not just about shorter code—they help write clean, maintainable logic when working with collections. #Java #BackendDevelopment #Java8 #Streams #LearningInPublic
To view or add a comment, sign in
Explore related topics
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development