String Compression II | Recursion | Memo | Leetcode 1531

Subscribers:
92,300
Published on ● Video Link: https://www.youtube.com/watch?v=6rgO0obJG0k



Duration: 41:52
4,061 views
239


Whatsapp Community Link : https://www.whatsapp.com/channel/0029Va6kVSjICVfiVdsHgi1A
This is the 77th Video of our Playlist "Dynamic Programming : Popular Interview Problems".
In this video we will try to solve a very good DP problem - String Compression II (Leetcode 1531).
We will solve it using Recursion Memoization in this video and I will post a separate video by Bottom Up.

I will explain the intuition so easily that you will never forget and start seeing this as cakewalk EASYYY.
We will do live coding after explanation and see if we are able to pass all the test cases.
Also, please note that my Github solution link below contains both C++ as well as JAVA code.

Problem Name : String Compression II
Company Tags : will update soon
My solutions on Github(C++ & JAVA) : https://github.com/MAZHARMIK/Interview_DS_Algo/blob/master/strings/String%20Compression%20II.cpp
Leetcode Link : https://leetcode.com/problems/string-compression-ii/

My DP Concepts Playlist : https://youtu.be/7eLMOE1jnls
My Graph Concepts Playlist : https://youtu.be/5JGiZnr6B5w
My GitHub Repo for interview preparation : https://github.com/MAZHARMIK/Interview_DS_Algo
Subscribe to my channel : https://www.youtube.com/@codestorywithMIK
Instagram : https://www.instagram.com/codestorywithmik/
Facebook : https://www.facebook.com/people/codestorywithmik/100090524295846/
Twitter : https://twitter.com/CSwithMIK


Approach Summary : The code uses dynamic programming with a 4D memoization table to find the optimal compression length of a given string 's' by deleting at most 'k' characters. The recursive function explores options for deleting or keeping characters based on specific conditions. The approach aims to minimize the compressed string length, and a global heap-allocated memoization table avoids stack overflow. The 'getLengthOfOptimalCompression' function initializes the table and calls the recursive solver.

╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
╠╗║╚╝║║╠╗║╚╣║║║║║═╣
╚═╩══╩═╩═╩═╩╝╚╩═╩═╝

✨ Timelines✨
00:00 - Introduction

#coding #helpajobseeker #easyrecipes #leetcode #leetcodequestionandanswers #leetcodesolution #leetcodedailychallenge #leetcodequestions #leetcodechallenge #hindi #india #coding #helpajobseeker #easyrecipes #leetcode #leetcodequestionandanswers #leetcodesolution #leetcodedailychallenge#leetcodequestions #leetcodechallenge #hindi #india #hindiexplanation #hindiexplained #easyexplaination #interview#interviewtips #interviewpreparation #interview_ds_algo #hinglish #github #design #data #google #video #instagram #facebook #leetcode #computerscience #leetcodesolutions #leetcodequestionandanswers #code #learning #dsalgo #dsa




Other Videos By codestorywithMIK


2024-01-03Minimum Number of Operations to Make Array Empty | Explained with Reasons | Greedy | Leetcode 2870
2024-01-03How I spent my Birthday 😇❤️🎂
2024-01-02Number of Laser Beams in a Bank | Clear Explanation | Dry Run | Amazon | Leetcode 2125
2024-01-01Convert an Array Into a 2D Array With Conditions | With Dry Run | Leetcode 2610
2024-01-01Array Pair Sum Divisibility Problem | Brute Force | Optimal | GfG POTD
2023-12-31Consistency is the Key. #codestorywithMIK
2023-12-30Largest Substring Between Two Equal Characters | 3 Ways | C++ | JAVA | Leetcode 1624
2023-12-29Redistribute Characters to Make All Strings Equal | 3 Ways | C++ | JAVA | Leetcode 1897
2023-12-29Minimum Difficulty of a Job Schedule | Bottom Up | Amazon | Leetcode 1335
2023-12-28String Compression II | Recursion | 2-D Memoization | Leetcode 1531
2023-12-28String Compression II | Recursion | Memo | Leetcode 1531
2023-12-27Thank you for the Trust. 14000 Subscribers. #codestorywithMIK #subscribe #coding #dsa #family
2023-12-26Anti Diagonal Traversal of Matrix | Simplest Approach | GfG POTD
2023-12-26Number of Dice Rolls With Target Sum | Recursion | Memo | Bottom Up | Leetcode 1155
2023-12-25Minimum Cost to Convert String I | Weekly Contest 377 | 2 Approaches | Leetcode 2976
2023-12-24Decode Ways | Recursion | Memo | Bottom Up | Leetcode 91
2023-12-23Minimum Changes To Make Alternating Binary String | 2 Approaches | MICROSOFT | Leetcode 1758
2023-12-22Path Crossing | Leetcode 1496
2023-12-21Maximum Score After Splitting a String | 3 Approaches | Leetcode 1422
2023-12-20Widest Vertical Area Between Two Points Containing No Points | Leetcode 1637
2023-12-20Apply Operations to Maximize Frequency Score | Weekly Contest 376 | Leetcode 2968