Understanding Quicksort Partition Logic using Java 8 💻⚡ Today I explored the Quicksort 1 – Partition problem, which focuses on dividing an array based on a pivot element. 💡 What I learned: How partitioning works in the Quicksort algorithm Dividing elements into three groups: left, equal, and right Building logic using simple comparisons instead of full sorting ⚙️ Approach: Selected the first element as the pivot Traversed the array and grouped elements into: Left → elements smaller than pivot Equal → elements equal to pivot Right → elements greater than pivot Combined all groups to form the final array 📌 Key Takeaway: Understanding partition logic is the foundation of efficient sorting algorithms like Quicksort. ⚡ Time Complexity: O(n) ⚡ Space Complexity: O(n) 👨💻 Breaking complex algorithms into smaller steps makes them easier to understand and implement. #Java #Java8 #Quicksort #Algorithms #DataStructures
Quicksort Partition Logic in Java 8
More Relevant Posts
-
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
-
-
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
-
-
Day 89 of #100DaysOfLeetCode 💻✅ Solved #15. 3Sum problem in Java. Approach: • Sorted the array first • Fixed one element and used Two Pointers for the rest • Skipped duplicates to avoid repeated triplets • Adjusted pointers based on sum comparison Performance: ✓ Runtime: 30 ms (Beats 87.77% submissions) ✓ Memory: 59.02 MB (Beats 77.30% submissions) Key Learning: ✓ Mastered Two Pointer technique with sorting ✓ Learned handling duplicates efficiently ✓ Improved problem-solving for combination-based problems Learning one problem every single day 🚀 #Java #LeetCode #DSA #TwoPointers #Arrays #Sorting #ProblemSolving #CodingJourney #100DaysOfCode
To view or add a comment, sign in
-
-
Day 24 – String Methods in Java Today I explored commonly used String methods in Java, which are essential for handling text data. Things I learned: 🔹 length() – finds string length 🔹 charAt() – accesses characters 🔹 substring() – extracts part of string 🔹 equals() – compares values 🔹 Case conversion methods 💡 Key takeaway: String methods are widely used in real-world applications for processing and manipulating text efficiently. Building stronger fundamentals step by step #Java #Strings #Programming #LearningInPublic #CodingJourney #Day24 #100DaysOfJava
To view or add a comment, sign in
-
-
💻 Day 23 – Strings in Java Today I explored Strings in Java, one of the most fundamental and important concepts. I learned about different types of string handling: 🔹 String – Immutable (cannot be changed) 🔹 StringBuilder – Mutable and faster 🔹 StringBuffer – Mutable and thread-safe Understanding immutability was a key highlight today, as it plays an important role in memory management and performance. 💡 Key takeaway: Choosing the right type of string handling improves both performance and efficiency in Java applications. Continuing to strengthen my core Java concepts step by step 🚀 #Java #Strings #Programming #LearningInPublic #CodingJourney #Day23
To view or add a comment, sign in
-
-
Solved LeetCode 17 – Letter Combinations of a Phone Number using backtracking in Java. Approach: Mapped each digit (2–9) to its corresponding characters using a simple array for O(1) access. Then used backtracking to build combinations digit by digit. For every digit: Pick each possible character Append → explore next digit → backtrack Key idea: Treat it like a tree of choices, where each level represents a digit and branches represent possible letters. Key learnings: Backtracking = build → explore → undo StringBuilder helps avoid unnecessary string creation Problems like this are about systematic exploration of choices Time Complexity: O(4^n * n) Space Complexity: O(n) recursion stack + output Consistent DSA practice is strengthening pattern recognition day by day. #Java #DSA #Backtracking #LeetCode #CodingInterview #SoftwareEngineering
To view or add a comment, sign in
-
-
Day 82 of #100DaysOfLeetCode 💻✅ Solved #11. Container With Most Water problem in Java. Approach: • Used Two Pointer technique • Calculated area using min height and width • Moved pointer with smaller height inward • Tracked maximum area throughout Performance: ✓ Runtime: 5 ms (Beats 83.17% submissions) ✓ Memory: 77.35 MB (Beats 53.65% submissions) Key Learning: ✓ Mastered Two Pointer optimization technique ✓ Learned efficient area calculation strategy ✓ Improved decision-making for pointer movement Learning one problem every single day 🚀 #Java #LeetCode #DSA #TwoPointers #Arrays #ProblemSolving #CodingJourney #100DaysOfCode
To view or add a comment, sign in
-
-
Day 68 of #100DaysOfLeetCode 💻✅ Solved #977. Squares of a Sorted Array problem in Java. Approach: • Traversed the array and squared each element • Used Arrays.sort() to sort the squared values • Returned the sorted array as the result Performance: ✓ Runtime: 10 ms (Beats 37.38% submissions) ✓ Memory: 47.98 MB (Beats 18.78% submissions) Key Learning: ✓ Practiced array transformation and sorting ✓ Learned how squaring affects order in sorted arrays ✓ Understood the importance of optimizing from O(n log n) to O(n) using two pointers Learning one problem every single day 🚀 #Java #LeetCode #DSA #Arrays #Sorting #ProblemSolving #CodingJourney #100DaysOfCode
To view or add a comment, sign in
-
-
🚀 Arrays in Java (Quick Guide) An Array is one of the most important data structures in Java. It stores multiple values of the same data type in a fixed-size container. ✅ Key Features of Arrays Stores elements in contiguous memory Size is fixed once declared Supports index-based access Faster retrieval using index (O(1)) 📌 Example int[] arr = {10, 20, 30, 40}; System.out.println(arr[0]); // Output: 10 🔥 Advantages ✔ Fast access using index ✔ Easy to iterate ✔ Memory efficient for fixed data ⚠ Limitations ❌ Size cannot grow dynamically ❌ Insertion/deletion in middle is costly (O(n)) 💡 When to Use Arrays? 👉 When the size is known in advance 👉 When you need fast indexing 👉 For performance-critical applications Arrays are the foundation for many advanced structures like ArrayList, Heap, Stack, and more. hashtag #Java #Arrays #DSA #Programming #InterviewPreparation
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
-
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