#Day-66) LeetCode 474. Ones and Zeroes – Java DP Solution Just tackled a classic knapsack-style problem using 2D Dynamic Programming in Java. 🧩 Problem: Given a list of binary strings and limits on the number of 0s (m) and 1s (n), find the largest subset such that the total number of 0s and 1s stays within bounds. 🧠 Java Approach: Count 0s and 1s for each string Use a dp[m+1][n+1] table to track the max subset size Iterate backwards to preserve previous states and avoid reuse 💡 Why It Works: This mirrors the 0/1 knapsack pattern — each string is like an item with a cost (0s and 1s) and a value (1). Reverse iteration ensures we don’t double-count. #Java #DynamicProgramming #LeetCode #CodingChallenge #TechPrep #ProblemSolving #PranshuCodes #LinkedInLearning 😊
"LeetCode 474: Ones and Zeroes Java DP Solution"
More Relevant Posts
-
Week 8 || Day 2💡 Reversing words in Java — step by step! Today I practiced reversing each word in a sentence using two different approaches: 🔹 Approach 1 — With .reverse() method: Split the sentence using split(" ") to separate words. Used StringBuffer for each word and applied .reverse() directly. Joined the reversed words back with spaces. 🔹 Approach 2 — Without using .reverse(): Again split the string into words. For each word, used a for loop running from the last character to the first. Appended each character manually into a new StringBuffer. Combined the reversed words carefully, avoiding extra spaces.⚡ #Java #StringBuffer #ProgrammingLogic #JavaFullStack
To view or add a comment, sign in
-
🔢 Why Does 0123 Print as 83 in Java? 🤔 While working on constructors today, I came across an interesting behavior in Java that reminded me how subtle details in syntax can completely change what your code does! When I wrote this line 👇 Student objectTwo = new Student(0123); I expected it to print 123. But instead, the console output was: 83 So what’s happening here? 💡 In Java, when a number starts with a leading zero (0), it is interpreted as an octal (base 8) number — not a decimal one. Let’s decode it: 0123 (octal) = 1×8² + 2×8¹ + 3×8⁰ = 64 + 16 + 3 = 83 (decimal) Hence, Java prints 83! --- 🧩 Takeaway: ✅ 123 → Decimal (Base 10) ✅ 0123 → Octal (Base 8) ✅ 0x123 → Hexadecimal (Base 16) ✅ 0b1010 → Binary (Base 2) --- 💬 Lesson: Tiny syntax details can make a big difference. Always watch out for leading zeros in numeric literals — they might silently convert your values to something unexpected! --- 🔖 #Java #ProgrammingTips #Developers #CodeLearning #JavaBasics #CodingCommunity #SoftwareEngineering #TechLearning
To view or add a comment, sign in
-
-
Extract a character from a string To get a character from a string in Java, you can use the charAt() method of the String class. This method takes an index as an argument and returns the character at that position (0-based index). Here's a simple Java program to demonstrate this: Code : public class GetCharacterFromString { public static void main(String[] args) { String str = "Hello, World!"; int index = 7; // Index of the character to retrieve (0-based) // Get the character at the specified index char ch = str.charAt(index); // Print the character System.out.println("Character at index " + index + " is: " + ch); } } Can anyone guess the output ?. #JavaProgramming #JavaCode #Coding #ProgrammingTips #LearnJava #JavaDevelopment #CodeSnippet #SoftwareDevelopment #TechTips #100DaysOfCode
To view or add a comment, sign in
-
🧠 Daily LeetCode Grind — Java Edition Today’s challenge: ✅ Palindrome Number (#9 - Easy) 📌 Goal: Check whether an integer reads the same backward as forward without converting it to a string. 📌 Approach: 🔹 Handle negatives and numbers ending in 0 (except 0 itself). 🔹 Reverse only half of the digits using modulo and division. 🔹 Compare the original and reversed halves for equality. 🧩 Test Cases: Input: 121 → Output: true Input: -121 → Output: false Input: 10 → Output: false 💡 Key Takeaways: 🔹 Strengthened arithmetic-based problem-solving (no string ops). 🔹 Learned efficient O(1) space reversal logic. 🔹 Improved understanding of numeric pattern recognition. 💻 Language: Java 🧠 Complexity: O(log₁₀ n) — reverse digits only once. #LeetCode #Java #CodingPractice #ProblemSolving #DSA #PalindromeNumber #DeveloperLife #AcceptedSolution #CybernautEdTech
To view or add a comment, sign in
-
-
🚀Day 94/100 #100DaysOfLeetCode 🧩Problem: Reverse Words in a String III✅ 💻Language: Java 🔍Approach: 🔹Split the given string by spaces to separate each word. 🔹For every word, reverse it using a StringBuilder. 🔹Append each reversed word back to the result string, adding spaces between them. 🔹Finally, return the complete reversed word string. 🧠Key Takeaways: 🔹Practiced efficient string manipulation using StringBuilder. 🔹Learned how splitting and reversing operations can be optimized for clarity. 🔹Strengthened understanding of text processing in Java. ⚡Performance: ⏱️Runtime: 4 ms (Beats 86.86%) 💾Memory: 45.49 MB (Beats 47.42%) #100DaysOfLeetCode #Java #CodingJourney #LeetCode #CodingChallenge #ProblemSolving
To view or add a comment, sign in
-
-
Today topic 🎯 Why is char 2 bytes in Java but 1 byte in C? Java char :- Size 2 bytes (16 bits) - Encoding Unicode (specifically UTF-16) - Range Can represent a much wider range of characters. C char :- Size 1 byte (8 bits) - Encoding Usually ASCII or an extended ASCII set (like ISO-8859-1) - Range Limited to 256 characters (if unsigned), mainly sufficient for Western European languages. Java prioritizes global character representation (Unicode/16-bit) while C prioritizes minimal memory usage and aligns with traditional ASCII (8-bit). A big thank you to Anand Kumar Buddarapu for explaining every concept so clearly! 🙏 hashtag #Java #Codegnan #LearningJourney #FullStackDevelopment #Programming
To view or add a comment, sign in
-
Reverse of a string in Java This method is like rewriting a word from the end to the beginning, letter by letter class ReverseString { public static void main(String[] args) { String original = "Hello"; String reversed = ""; for (int i = 0; i < original.length(); i++) { reversed = original.charAt(i) + reversed; } System.out.println("Reversed String: " + reversed); } } #java #Coding
To view or add a comment, sign in
-
♻️ Garbage Collection in Java — Simplified! 🚀 In Java, memory management is handled automatically using a process called Garbage Collection (GC). It removes objects that are no longer in use, keeping your application memory-efficient and stable! 💡 🧠 How it works: obj1 and obj2 are made null, so they’re no longer referenced. System.gc() requests the JVM to perform Garbage Collection. Before destroying an object, the JVM automatically calls the finalize() method. Adding a small delay (Thread.sleep(1000)) helps give the JVM time to trigger GC before the program exits. ✅ Sample Output: Garbage collector called for object: GarbageCollector@6bc7c054 Garbage collector called for object: GarbageCollector@232204a1 Main method completed Java’s Garbage Collector ensures that memory is managed efficiently — so developers can focus on logic, not cleanup! 💪 #Java #GarbageCollection #Programming #JavaDeveloper #Coding #TechLearning
To view or add a comment, sign in
-
-
♻️ Garbage Collection in Java — Simplified! 🚀 In Java, memory management is handled automatically using a process called Garbage Collection (GC). It removes objects that are no longer in use, keeping your application memory-efficient and stable! 💡 🧠 How it works: obj1 and obj2 are made null, so they’re no longer referenced. System.gc() requests the JVM to perform Garbage Collection. Before destroying an object, the JVM automatically calls the finalize() method. Adding a small delay (Thread.sleep(1000)) helps give the JVM time to trigger GC before the program exits. ✅ Sample Output: Garbage collector called for object: GarbageCollector@6bc7c054 Garbage collector called for object: GarbageCollector@232204a1 Main method completed Java’s Garbage Collector ensures that memory is managed efficiently — so developers can focus on logic, not cleanup! 💪 #Java #GarbageCollection #Programming #JavaDeveloper #Coding #TechLearning
To view or add a comment, sign in
-
-
(Largest Perimeter Triangle — Java 🔺) Hey everyone 👋 Today I explored how to find the largest perimeter triangle from a given array of side lengths using Java. While solving this, I understood how a simple mathematical condition can help in optimizing the entire logic 🔥 Here’s the breakdown 👇 🧠 Concept: To form a valid triangle from 3 sides, the sum of any two sides must be greater than the third one. → a + b > c → a + c > b → b + c > a 💡 Approach 1: Sort the array in descending order and check triplets from the start. If any 3 consecutive sides satisfy the triangle condition, their sum gives the largest perimeter. ⚡ Approach 2 (Optimized): Instead of reversing the array, just sort it in ascending order and iterate from the end — gives the same result but with cleaner logic and less work. 🧩 Time Complexity: O(N log N) 💾 Space Complexity: O(1) This problem helped me understand how sorting order and traversal direction can make an algorithm more elegant and efficient 🚀 📁 Code is available on my GitHub repo: https://lnkd.in/ekjD9s22 #Java #DSA #ProblemSolving #Arrays #CodingJourney #Developers #LearningByDoing #FullStackDeveloper #MCA #GitHub
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