✅ Day 66 of 100 Days LeetCode Challenge Problem: 🔹 #3862 – Find the Smallest Balanced Index 🔗 https://lnkd.in/gaNRNbsH Learning Journey: 🔹 Today’s problem required finding an index where the sum of elements on the left equals the product of elements on the right. 🔹 Instead of recalculating values repeatedly, I maintained two running values: • pre → sum of elements to the left • post → product of elements to the right 🔹 By iterating from right to left, I updated the left sum and right product dynamically. 🔹 As soon as both values matched, I returned the current index (ensuring it’s the smallest valid one). Concepts Used: 🔹 Prefix Sum 🔹 Running Product 🔹 Reverse Traversal 🔹 Efficient State Updates Key Insight: 🔹 Maintaining cumulative values avoids recomputing sums and products for every index. 🔹 Traversing from the end allows the right-side product to be built incrementally, making the solution efficient. Complexity: 🔹 Time: O(n) 🔹 Space: O(1) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
LeetCode Challenge Day 66: Find Smallest Balanced Index
More Relevant Posts
-
✅ Day 73 of 100 Days LeetCode Challenge Problem: 🔹 #3871 – Count Commas in Range II 🔗 https://lnkd.in/gZGbzZ_F Learning Journey: 🔹 Today’s problem asked for the total number of commas used when writing all integers from 1 to n in standard number formatting. 🔹 In this format, a comma appears after every three digits from the right (e.g., 1,000 or 1,000,000). 🔹 Instead of formatting every number individually, I observed that commas start appearing at specific thresholds: • Numbers ≥ 1,000 contribute one comma • Numbers ≥ 1,000,000 contribute two commas • Numbers ≥ 1,000,000,000 contribute three commas, and so on 🔹 I handled each threshold and added the number of integers that contribute commas for that range. Concepts Used: 🔹 Mathematical Pattern Observation 🔹 Conditional Counting 🔹 Large Number Thresholds Key Insight: 🔹 Numbers only start contributing commas after certain digit lengths (powers of 10). 🔹 Counting how many numbers exceed each threshold avoids iterating through all values up to n, making the solution efficient. Complexity: 🔹 Time: O(1) 🔹 Space: O(1) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
✅ Day 76 of 100 Days LeetCode Challenge Problem: 🔹 #75 – Sort Colors 🔗 https://lnkd.in/gpH9fEJu Learning Journey: 🔹 Today’s problem required sorting an array containing only 0s, 1s, and 2s (representing colors) in-place without using built-in sort. 🔹 I implemented a selection sort approach, where for each index, I searched for the minimum element in the remaining array. 🔹 Once found, I swapped it with the current position to gradually build the sorted array. 🔹 This ensured the array was sorted in ascending order (0 → 1 → 2). Concepts Used: 🔹 Selection Sort 🔹 In-place Swapping 🔹 Nested Iteration Key Insight: 🔹 Even though the problem has an optimal linear-time solution (Dutch National Flag algorithm), a simple sorting approach like selection sort still works correctly. 🔹 Iteratively placing the smallest remaining element ensures correctness, though not optimal efficiency. Complexity: 🔹 Time: O(n²) 🔹 Space: O(1) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
✅ Day 77 of 100 Days LeetCode Challenge Problem: 🔹 #77 – Combinations 🔗 https://lnkd.in/gNFFZQYw Learning Journey: 🔹 Today’s problem required generating all possible combinations of k numbers from the range [1, n]. 🔹 I used a backtracking approach to build combinations step by step. 🔹 At each step, I added a number to the current path and recursively explored further choices. 🔹 Once the size of the current combination reached k, I added it to the result. 🔹 I also applied a pruning condition to stop unnecessary recursion when there aren’t enough elements left to complete a combination. Concepts Used: 🔹 Backtracking 🔹 Recursion 🔹 Combinatorics 🔹 Pruning Optimization Key Insight: 🔹 Backtracking systematically explores all possible combinations while maintaining constraints. 🔹 Pruning helps reduce unnecessary recursive calls, improving efficiency significantly. Complexity: 🔹 Time: O(C(n, k)) 🔹 Space: O(k) (excluding output) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
✅ Day 80 of 100 Days LeetCode Challenge Problem: 🔹 #3876 – Construct Uniform Parity Array II 🔗 https://lnkd.in/gENuCXJc Learning Journey: 🔹 Today’s problem focused on determining whether we can construct an array where all elements are either all even or all odd using allowed operations. 🔹 The key observation was around parity (odd/even nature) of numbers. 🔹 Since we can subtract elements, the parity depends on whether differences can produce consistent odd or even values. 🔹 I simplified the logic by checking: • If the minimum element is odd → we can make all elements odd • Otherwise, verify if all elements are already even Concepts Used: 🔹 Parity (Odd/Even Analysis) 🔹 Mathematical Observation 🔹 Greedy Logic Key Insight: 🔹 Subtracting numbers preserves or changes parity in predictable ways. 🔹 The smallest element plays a crucial role in determining whether all elements can be transformed into the same parity. Complexity: 🔹 Time: O(n) 🔹 Space: O(1) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
✅ Day 81 of 100 Days LeetCode Challenge Problem: 🔹 #1897 – Redistribute Characters to Make All Strings Equal 🔗 https://lnkd.in/gZ7wZ7JE Learning Journey: 🔹 Today’s problem required checking if we can redistribute characters so that all strings become identical. 🔹 I combined all strings and used a frequency counter to count occurrences of each character. 🔹 Since we can freely move characters between strings, the only requirement is that each character count must be divisible by the number of strings. 🔹 If any character fails this condition, it’s impossible to evenly distribute it. Concepts Used: 🔹 Hash Map / Frequency Counting (Counter) 🔹 String Concatenation 🔹 Divisibility Check Key Insight: 🔹 The exact arrangement doesn’t matter—only the total frequency distribution matters. 🔹 If every character can be equally divided among all strings, a valid configuration always exists. Complexity: 🔹 Time: O(n * k) (n = number of strings, k = average length) 🔹 Space: O(1) (bounded by alphabet size) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
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 82 of 100 Days LeetCode Challenge Problem: 🔹 #2906 – Construct Product Matrix 🔗 https://lnkd.in/gdb7GZNB Learning Journey: 🔹 Today’s problem required constructing a matrix where each cell contains the product of all other elements except itself, modulo 12345. 🔹 I flattened the 2D matrix into a 1D list to simplify processing. 🔹 Then I used the prefix and postfix product technique: • pre[i] → product of all elements before index i • post[i] → product of all elements after index i 🔹 Multiplying pre[i] * post[i] gives the required result for each position. 🔹 Finally, I mapped the computed values back into the original matrix shape. Concepts Used: 🔹 Prefix Product 🔹 Postfix Product 🔹 Array Flattening 🔹 Modular Arithmetic Key Insight: 🔹 Using prefix and postfix arrays avoids recomputing products for every cell, reducing time complexity. 🔹 This is an extension of the classic “product of array except self” problem. Complexity: 🔹 Time: O(n × m) 🔹 Space: O(n × m) #LeetCode #Algorithms #DataStructures #CodingInterview #100DaysOfCode #SoftwareEngineering #Python #ProblemSolving #LearningInPublic #TechCareers
To view or add a comment, sign in
-
-
✅ Day 87 of 100 Days LeetCode Challenge Problem: 🔹 #2840 – Check if Strings Can be Made Equal With Operations II 🔗 https://lnkd.in/gY73RBb5 Learning Journey: 🔹 Today’s problem extended the previous one, allowing swaps between indices where the difference is even. 🔹 I observed that this again partitions the string into two independent groups: • Even indices (0, 2, 4, …) • Odd indices (1, 3, 5, …) 🔹 I extracted characters from even and odd positions separately for both strings. 🔹 Then, I sorted these groups and compared them between s1 and s2. 🔹 If both even-index groups and odd-index groups match, the strings can be made equal. Concepts Used: 🔹 String Manipulation 🔹 Index Grouping (Parity-based) 🔹 Sorting 🔹 Greedy Observation Key Insight: 🔹 Since swaps are allowed only between indices with even distance, characters can only move within their parity group. 🔹 Therefore, the problem reduces to checking if both parity groups have identical character distributions. 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
-
-
✅ 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
-
-
Just solved “Longer Contiguous Segments of Ones than Zeros” on LeetCode with 0 ms runtime ⚡ Instead of storing segments or using extra space, I approached it with a single pass linear scan. 💡 My approach: Maintain two counters: count_1 → current streak of 1s count_0 → current streak of 0s Maintain two variables: maximum_1 → longest contiguous 1s maximum_0 → longest contiguous 0s While iterating through the string: If the character is '1', increase count_1 and reset count_0 If the character is '0', increase count_0 and reset count_1 Continuously update the maximum streaks Finally check if max(1s) > max(0s) ✨ Why this works well Only one traversal O(n) time complexity O(1) space complexity Clean and simple logic Always fascinating how simple state tracking can solve problems efficiently. Back to solving more problems and sharpening problem-solving skills! 🔥 #leetcode #coding #datastructures #algorithms #programming #python #codingpractice #problemSolving #softwareengineering #techlearning #computerscience #developers #100daysofcode #codingjourney #womenintech 🚀
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