🚀 Day 18 of #100DaysOfCode 📌 LeetCode 977 – Squares of a Sorted Array Today’s problem was about transforming a sorted array (with possible negative numbers) into a new array of squared values that remains sorted. 💡 Approach Used: Two Pointers Instead of squaring all elements and sorting again (O(n log n)), I applied the Two Pointer technique to compare absolute values from both ends and filled the result array from the back. 🧠 Key Learnings: ✔️ Importance of optimal thinking over brute force ✔️ How negative numbers affect sorting after squaring ✔️ Efficient use of Two Pointers in array problems ⏱️ Time Complexity: O(n) 📦 Space Complexity: O(n) 🔍 Problem Pattern: Array + Two Pointers Consistency is the key — showing up every day and improving step by step! 💪 #Day18 #100DaysOfCode #LeetCode #DSA #Python #CodingJourney #BTech #DataStructures
Squaring a Sorted Array with Two Pointers
More Relevant Posts
-
✅ Day 64 of 100 Days LeetCode Challenge Problem: 🔹 #1784 – Check if Binary String Has at Most One Segment of Ones 🔗 https://lnkd.in/gpJYed9J Learning Journey: 🔹 Today’s problem focused on determining whether a binary string contains only one contiguous segment of '1's. 🔹 Since the string has no leading zeros, the first character is always '1'. 🔹 If a '1' appears again after a '0', it indicates the start of a second segment. 🔹 A single pass through the string is enough to detect this pattern. Concepts Used: 🔹 String Traversal 🔹 Pattern Detection 🔹 Conditional Logic Key Insight: 🔹 The pattern "01" followed by another '1' reveals multiple segments of ones. 🔹 Detecting this transition allows us to solve the problem efficiently. Complexity: 🔹 Time: O(n) 🔹 Space: O(1) 💬 What’s your favorite trick for solving binary string problems? #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
✅ Day 74 of 100 Days LeetCode Challenge Problem: 🔹 #653 – Two Sum IV: Input is a BST 🔗 https://lnkd.in/g9vDFKMA Learning Journey: 🔹 Today’s problem required checking whether there exist two nodes in a Binary Search Tree whose values sum to k. 🔹 I performed a Depth-First Search (DFS) traversal using a stack to visit all nodes of the tree. 🔹 While traversing, I stored each node’s value in a list. 🔹 Then I used a hash set to track visited values and checked whether the complement (k - value) already exists. 🔹 If the complement is found, it means two numbers sum to k, so the function returns True. Concepts Used: 🔹 Depth-First Search (DFS) 🔹 Stack-based Tree Traversal 🔹 Hash Set for Fast Lookup 🔹 Two Sum Pattern Key Insight: 🔹 The classic Two Sum approach works well after collecting values from the BST. 🔹 Using a set allows O(1) lookup, making it efficient to check complements during iteration. Complexity: 🔹 Time: O(n) 🔹 Space: O(n) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
🚀 Day 169 of My LeetCode Journey 🚀 1092. Shortest Common Supersequence 🫧 In this problem, we are given two strings, and we need to build the shortest string that contains both of them as subsequences. ▪️ The key idea is related to the Longest Common Subsequence. If both strings share some common characters in order, we should include those characters only once in the final string. ▪️ First, I built a DP table to find the LCS length between the two strings. This helps us understand which characters are common between them. ▪️ After filling the DP table, I traversed it backwards to construct the final string. ▪️ If characters in both strings match, I add that character once to the result and move diagonally in the table. ▪️ If they don’t match, I move in the direction that gave the larger LCS value and add that character to the result. ▪️ If one string finishes before the other, I simply added the remaining characters from the other string. ▪️ In the end, I reversed the collected characters to get the shortest common supersequence, which contains both strings while keeping the length as small as possible. #LeetCode #DynamicProgramming #Strings #Python #CodingJourney #Day169 🔥
To view or add a comment, sign in
-
-
Day 5/100: Auctions and Stacks! 🚀 Today was all about mastering Python Dictionaries and diving into Data Structures! I built a Secret Auction Program that uses dictionary mapping to handle multiple bidders and logic to determine the highest bidder. It was a great exercise in loop control and data retrieval. On the DSA front, I officially started Stacks. 📚 Understanding the LIFO (Last In, First Out) principle and how it powers everything from function calls to the "undo" button in your favorite editor is fascinating. Key Takeaways: 1.) Implementing dictionaries for real-world data storage. 2.) The mechanics of push and pop operations in Stacks. 3.) Building cleaner, more modular code. Onward to Day 6! 💻✨ #100DaysOfCode #Python #DSA #LearningJourney #BuildInPublic #LPU
To view or add a comment, sign in
-
-
✅ Day 69 of 100 Days LeetCode Challenge Problem: 🔹 #1009 – Complement of Base 10 Integer 🔗 https://lnkd.in/geVPugvi Learning Journey: 🔹 Today’s challenge involved finding the bitwise complement of a base-10 integer. 🔹 I first converted the integer into its binary representation using bin(n)[2:] to remove the 0b prefix. 🔹 Then I iterated through each bit and flipped it: • 0 becomes 1 • 1 becomes 0 🔹 After constructing the flipped binary string, I converted it back to a decimal integer using int(s, 2). Concepts Used: 🔹 Binary Representation 🔹 Bit Manipulation 🔹 String Traversal 🔹 Base Conversion (Binary → Decimal) Key Insight: 🔹 Converting the number to binary makes it easy to flip bits directly. 🔹 After inversion, converting the binary string back to base-10 produces the required complement. Complexity: 🔹 Time: O(b) where b is the number of bits in n 🔹 Space: O(b) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
🚀 Day 41 of #100DaysofCode Challenge! Today’s focus was on recursion and backtracking patterns: 🔹 Generate Parentheses Solved this using a backtracking approach by building valid combinations incrementally while maintaining two constraints: The number of opening brackets used must not exceed n The number of closing brackets must not exceed the number of opening brackets This ensures only valid sequences are generated without checking invalid ones afterward. Core idea: Use recursion to explore all valid states Add '(' if openings < n Add ')' if closings < openings Key takeaways: ✔ Backtracking with constraint pruning ✔ Recursive state-space exploration ✔ Understanding how valid combinations grow systematically Time Complexity: O(4ⁿ / √n) (related to Catalan numbers) Space Complexity: O(n) for recursion stack Building stronger intuition for recursion and combinatorial problems every day 🚀 📸 Screenshots of solution are attached! #Day41 #DynamicProgramming #BinaryTree #TreeDP #Algorithms #ProblemSolving #Python #Java #CodingMindset #SoftwareEngineering #AdityaVerma #CodingJourney
To view or add a comment, sign in
-
-
LeetCode Problem 1545: "Given two positive integers n and k, the binary string Sn is formed as follows: S1 = "0" Si = Si - 1 + "1" + reverse(invert(Si - 1)) for i > 1 Where + denotes the concatenation operation, reverse(x) returns the reversed string x, and invert(x) inverts all the bits in x (0 changes to 1 and 1 changes to 0)." Approach: Initialize an array with a single element '0' which serves as the string1 then iteratively calculate the consecutive strings and store them in the array. Finally, form the final string using the join() function and return the kth character of the string. #Python #LeetCode #String #ProblemSolving #CompetitiveProgramming #DataStructures #Algorithm
To view or add a comment, sign in
-
-
✅ Day 68 of 100 Days LeetCode Challenge Problem: 🔹 #1207 – Unique Number of Occurrences 🔗 https://lnkd.in/g2vjwwft Learning Journey: 🔹 Today’s problem required checking whether the frequency of each element in an array is unique. 🔹 I first used Counter to count how many times each number appears in the array. 🔹 Then I extracted the occurrence counts using .values(). 🔹 To verify uniqueness, I compared the length of the occurrences list with the length of a set created from those values. 🔹 If both lengths match, it means all occurrence counts are unique. Concepts Used: 🔹 Hash Map / Frequency Counting 🔹 Python Counter from collections 🔹 Sets for Uniqueness Check Key Insight: 🔹 Converting values to a set removes duplicates automatically. 🔹 If the size of the set equals the number of frequency values, then all occurrence counts are distinct. Complexity: 🔹 Time: O(n) 🔹 Space: O(n) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
🚀 Solved the “Two Sum” Problem | Data Structures & Algorithms Practice Today I solved the classic Two Sum problem—a fundamental question in data structures & algorithms. 🔹 Problem: 1 Given an array of integers and a target value, return the indices of two numbers such that they add up to the target. ⏱️ Complexity: Time Complexity: O(n) Space Complexity: O(n) 🔗 GitHub Repository (more DSA problems inside): https://lnkd.in/gdrbnQDF #DSA #ProblemSolving #Python #CodingJourney #SoftwareEngineering #LeetCode
To view or add a comment, sign in
-
-
✅ Day 70 of 100 Days LeetCode Challenge Problem: 🔹 #1051 – Height Checker 🔗 https://lnkd.in/g7bmj62W Learning Journey: 🔹 Today’s problem required identifying how many students are not standing in the correct order according to their heights. 🔹 I first created a sorted version of the heights array to represent the expected order. 🔹 Then I compared each element of the original list with the corresponding element in the sorted list. 🔹 Every mismatch indicates a student standing in the wrong position, so I incremented a counter for each difference. Concepts Used: 🔹 Sorting 🔹 Array Comparison 🔹 Iteration Key Insight: 🔹 Instead of rearranging elements, simply comparing the original array with its sorted version reveals how many indices differ. 🔹 Each mismatch directly contributes to the final count. Complexity: 🔹 Time: O(n log n) 🔹 Space: O(n) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
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
GREAT WORK LEGEND🫡🙏 KEEP GOING AND KEEP SHINING 🙏🫡