Number of Dice Rolls With Target Sum | Recursion | Memo | Bottom Up | Leetcode 1155

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



Duration: 28:40
2,684 views
204


Whatsapp Community Link : https://www.whatsapp.com/channel/0029Va6kVSjICVfiVdsHgi1A
This is the 76th Video of our Playlist "Dynamic Programming : Popular Interview Problems".
In this video we will try to solve a very good DP problem - Number of Dice Rolls With Target Sum (Leetcode 1155).
We will solve it using Recursion Memoization as well as Bottom Up DP.

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 : Number of Dice Rolls With Target Sum
Company Tags : Microsoft, Amazon
My solutions on Github(C++ & JAVA) : https://github.com/MAZHARMIK/Interview_DS_Algo/blob/master/DP/Number%20of%20Dice%20Rolls%20With%20Target%20Sum.cpp
Leetcode Link : https://leetcode.com/problems/number-of-dice-rolls-with-target-sum/

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-1 Summary : The approach uses dynamic programming with memoization to avoid redundant computations. The solve function recursively calculates the number of ways to achieve the target sum by exploring all possible dice rolls. The results are stored in a 2D array t to avoid recomputation. The numRollsToTarget function initializes the memoization table and calls the solve function to obtain the final result. The modulus operation is used to prevent integer overflow by keeping the result within the range of 10^9 + 7.

Approach-2 Summary : The approach utilizes dynamic programming with a 2D array t, where t[i][j] represents the ways to get sum j using i dice. The algorithm iterates through dice, target, and faces, updating the table based on previous results. The final answer is t[n][target], and a modulus operation is applied to prevent integer overflow. The modulus operation is used to prevent integer overflow by keeping the result within the range of 10^9 + 7.

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

✨ Timelines✨
00:00 - Introduction
3:03 - Thought Process + Tree Diagram
6:35 - How to write the Recursion + Memo
15:33 - Code Recursion + Memo
18:23 - Bottom Up Explanation
23:22 - Recursion code to Bottom Up Code
26:15 - Code Bottom Up


#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-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
2023-12-19Buy Two Chocolates | Leetcode 2706
2023-12-18Image Smoother | 2 Simple Approaches | AMAZON | Leetcode-661
2023-12-17Maximum Product Difference Between Two Pairs | 2 Simple Approaches | Leetcode-1913