🚀 DSA Learning Journey | Day 13 | Java Solved “20. Valid Parentheses.” 💡 Key Idea: Used a Stack to track opening brackets and match them with corresponding closing brackets. ⚙ Implementation • Language: Java • Time Complexity: O(n) • Space Complexity: O(n) 📚 Learning: How stack data structure helps in solving matching and validation problems efficiently. #JavaDeveloper #DSA #LeetCode #ProblemSolving #Stack #Algorithms #CodingJourney #100DaysOfCode #DevelopersOfLinkedIn
Java DSA Day 13: Solving '20. Valid Parentheses' with Stack
More Relevant Posts
-
Day 7 of Java with DSA Journey 🚀 📌 Topic: Missing Number (LeetCode 268) Quote: "Sometimes the best way to solve a coding problem is to put down the keyboard and pick up a calculator." ✨ What I learned today: 🔹 Mathematical Optimization: Instead of brute force, I used a simple formula to compute the expected sum. {Sum} = \frac{n(n+1)}{2} 🔹 Core Idea: Expected Sum − Actual Sum = Missing Number 🔹 Alternative Approach: Used XOR technique where duplicates cancel out → leaving the missing value. 🔹 Efficiency: ✔️ Time Complexity: O(n) ✔️ Space Complexity: O(1) 🧠 Problem Solved: ✔️ Missing Number 💡 Key Insight: We often jump to HashSet or Sorting, but this problem taught me to pause and think mathematically first. A simple formula reduced space complexity from O(n) → O(1) 🚀 ⚡ Interview Tip (Important!): Be careful of integer overflow in Java: n * (n + 1) can exceed int limit Use long OR switch to XOR method for safety Consistency is the real key 🔑 #DSA #LeetCode #Java #Mathematics #CodingJourney #ProblemSolving #Day7 #Algorithms #Optimization #Array #MCA #lnct #100DaysOfCode #Algorithms #SoftwareEngineering #InPlaceAlgorithms #TechLearning #JavaDeveloper
To view or add a comment, sign in
-
-
🚀 Day 7/100 – DSA Journey Today’s focus was on implementing a classic and important problem in number theory — Armstrong Numbers — using Java. 🔍 What I built: A program to find all Armstrong numbers within a given range (100 to 2000). 💡 Approach Breakdown: Iterated through each number in the range Counted the number of digits Extracted each digit and computed its power using Math.pow() Summed the results and compared with the original number Printed the number if it satisfies the Armstrong condition ⚙️ Key Concepts Used: Loops (while, for) Mathematical logic (digit extraction, power calculation) Function design for reusability Clean iteration over a range 📌 Output Observed: 153, 370, 371, 407, 1634 📈 Learning Insight: This problem strengthened my understanding of number manipulation and algorithmic thinking, which are fundamental in DSA and frequently asked in interviews. 🔥 Consistency is the key — building problem-solving skills step by step! #Day7 #100DaysOfCode #DSA #Java #ProblemSolving #CodingJourney #SoftwareDevelopment #LearnInPublic 🙌 Tagging: 10000 Coders Pathulothu Navinder
To view or add a comment, sign in
-
-
🚀 DSA Journey — LeetCode Practice 📌 Problem: N-ary Tree Preorder Traversal (LeetCode 589) 💻 Language: Java 🔹 Approach: To solve this problem, I used Depth-First Search (DFS) with Recursion to traverse the N-ary tree in preorder format. • Visit the root node first • Store the root value in the result list • Recursively traverse all children from left to right • Follow Preorder pattern: Root → Children This approach works efficiently because recursion naturally follows the preorder traversal structure. ⏱ Time Complexity: O(n) 🧩 Space Complexity: O(n) (including recursion stack) 📖 Key Learning: This problem strengthened my understanding of DFS, recursion, and N-ary tree traversal. It also reinforced the preorder pattern (Root → Children), which is a fundamental concept used in many tree-based problems 💡 #DSA #Java #LeetCode #ProblemSolving #CodingJourney #LearningInPublic #NaryTree #DFS #Recursion #TreeTraversal
To view or add a comment, sign in
-
-
🚀 Solved a neat Difference Array problem today! 💡 Problem: Given an array and a set of range queries, determine whether it’s possible to make the entire array zero using the allowed operations. 🧠 Approach: Instead of applying each query directly (which would be slow), I used: • Difference Array for efficient range updates • Prefix Sum to compute actual impact at each index ⚡ Key Idea: Each query contributes to a range. By marking where the effect starts and ends, we can efficiently calculate how many times each index can be reduced. Then, for every index: • Compare available operations with required value • If available < required → not possible 📈 Complexity: O(n + q) — efficient and scalable 🔥 Key Learning: Using a Difference Array avoids repeated work and helps optimize range-based problems significantly. #LeetCode #DSA #Java #Coding #ProblemSolving #Arrays #Algorithms
To view or add a comment, sign in
-
-
🚀 DSA Journey — LeetCode Practice 📌 Problem: Maximum Depth of Binary Tree 💻 Language: Java 🔹 Approach: To solve this problem, I used Breadth-First Search (BFS) with a Queue to perform level-order traversal of the binary tree. • Start by adding the root node to the queue • Traverse the tree level by level • For each level, process all nodes currently in the queue • Add left and right children of each node to the queue • Increment the level count after completing each level 📌 Logic Insight: Each iteration of the outer loop represents one level of the tree, which directly helps in calculating the maximum depth. ⏱ Time Complexity: O(n) 🧩 Space Complexity: O(n) (queue storage in worst case) 💡 Key Learning: This problem helped me understand how level-order traversal (BFS) can be used not just for traversal, but also for solving structural problems like finding tree depth efficiently. It also reinforced the importance of queue-based processing in trees. #DSA #Java #LeetCode #BinaryTree #BFS #Queue #CodingJourney #ProblemSolving #LearningInPublic #TreeTraversal
To view or add a comment, sign in
-
-
🚀 DSA Journey — LeetCode Practice 📌 Problem: N-ary Tree Postorder Traversal (LeetCode 590) 💻 Language: Java 🔹 Approach: To solve this problem, I used Depth-First Search (DFS) with Recursion to perform postorder traversal of the N-ary tree. • Recursively traverse all child nodes first • Visit each child from left to right • Store the root node value at the end • Follow Postorder pattern: Children → Root This approach works efficiently because recursion naturally follows the postorder traversal structure. ⏱ Time Complexity: O(n) 🧩 Space Complexity: O(n) (including recursion stack) 📖 Key Learning: This problem strengthened my understanding of DFS, recursion, and N-ary tree traversal. It also reinforced the postorder pattern (Children → Root), which is a fundamental concept used in many tree-based problems 💡 #DSA #Java #LeetCode #ProblemSolving #CodingJourney #LearningInPublic #NaryTree #DFS #Recursion #TreeTraversal
To view or add a comment, sign in
-
-
🚀 Learning Java the Right Way Today, I practiced a popular DSA problem 👉 Container With Most Water 📌 Problem: Given an array of heights, find two lines that together can store the maximum amount of water. Example: Array → {1, 8, 6, 2, 5, 4, 8, 3, 7} Output → 49 ✅ 🔹 Key Learning: Instead of using brute force (O(n²)), I used the Two Pointer approach to solve it in O(n) time. 📌 Approach: Start with two pointers (left & right) Calculate area = min(height) × width Move the pointer with smaller height Repeat to find maximum area This problem helped me understand: ✔ Two Pointer technique ✔ Optimization over brute-force ✔ Logical decision making ✔ Real interview-level problem solving Learning when and how to optimize is what truly improves coding skills 💪 📌 Think smart • Optimize logic • Solve efficiently 🚀 #java #javafullstack #javadeveloper #corejava #codingjourney #coding
To view or add a comment, sign in
-
-
Understanding arrays is not enough knowing how to operate on them is key. In this short video, I covered: - Traversal (O(n)) - Insertion (O(1) at end, O(n) in middle) - Deletion (O(1) at end, O(n) in middle) - Why shifting elements impacts performance These fundamentals help in choosing the right data structure and writing optimized code. Explore structured DSA in Java roadmap + practice: www.quipoin.com #DSA #Java #Programming #Coding #SoftwareEngineering #DataStructures #Algorithms
To view or add a comment, sign in
-
What if a function could call itself to solve a problem? That’s exactly what Recursion is. In this short video, I explained: - What is recursion - Base case (stops execution) - Recursive case (reduces problem size) - Factorial example - Importance of call stack Recursion is widely used in solving complex problems like trees, graphs, and divide-and-conquer algorithms. Explore structured DSA in Java roadmap + practice: www.quipoin.com #DSA #Java #Programming #Coding #SoftwareEngineering #Recursion #InterviewPreparation
To view or add a comment, sign in
-
🚀 Day 47 / 180 – DSA with Java 🚀 📘 Topic Covered: Matrix Traversal 🧩 Problem Solved: Spiral Matrix Problem: Given a matrix, return all elements in spiral order starting from the top-left corner. Approach: Used four boundaries — top, bottom, left, and right. Traversed layer by layer in four directions (left to right, top to bottom, right to left, bottom to top) while shrinking the boundaries after each pass. Key Learning: ✔️ Managing boundaries in matrix traversal ✔️ Breaking complex movement into clear steps ✔️ Handling edge cases in rectangular matrices If you’re also preparing for DSA, let’s connect and learn together 🤝 #DSA #Java #180DaysOfCode #LearningInPublic #Matrix #ProblemSolving #Consistency
To view or add a comment, sign in
-
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