Table of Contents: Beginning The Backtracking Discussion 0:00 - 1:08 The 3 Keys To Backtracking 1:08 - 2:40 The Choice: Defining Our Decision Space 2:40 - 5:50 The Constraints: Directing Our Recursion 5:50 - 7:42 Our Goal: When Recursion Bottoms Out 7:42 - 9:22 Lesson Summary 9:22 - 10:52 How Do We Know When We Can Use Backtracking 10:52 - 12:07 Wrap Up 12:07 - 13:25 I don't like the word "blueprint" for these problems. There are patterns, I agree. But memorization of code snippets and patterns will rob you of true learning. You won't learn how to think on your own. Don't learn templates, know what is going on deeply. The code for the Sudoku solver problem is in the description.
@shaurya pratap singh Depends. Like...this is hard to answer. What I focus on is Big N companies and these kinds of questions. For any other job in tech I really am not sure...it depends what you want to do. But yes, if you can do these then it basically proves you have the intellectual prowess to learn any tools used on the job. Much much easier to go from being a computer scientist to being a software engineer, than to go from web development to being a computer scientist.
i love that your torso just blends into the background with the white shirt and you are just a benevolent set of floating body parts teaching us how to not fail finals tomorrow.
I wish I could. This took 7 hours. I...I really wish I could make everything top notch and it is annoying...but yeah I will continue to mix things up :)
Hey man, long time subscriber here. 3 years ago I watched most videos on your channel and you are by far the greatest teacher I've had. I wish more people in the industry taught like you did - Clear and concise! You helped me crack my FAANG new grad interview, and now I'm back to get some refreshers to crack another FAANG possibly 😂. Just wanted to shout you out before I started my journey. THANK YOU! 🙏🏿
I am so happy I found this channel! Dynamic Programming scares me but I am determined to combat that scare and these videos will help for sure. Thanks heaps :D
I watched this video about a month ago when I was trying to get my head around backtracking but couldn't understand much. After solving a bunch of problems on Leet Code over the past month, I'm watching this video again, and surprisingly, it makes a lot more sense now xD Thanks a lot!
You are not teaching, you healing. The way you approach and progress towards the solution, putting yourself in our shoes like "how easy/difficult it would be to understand what I'm saying". As if you totally understand the situation we are in. I bow for that empathy! 👐🙏
*3 Keys: Choice, constraints, and goal. *Choice - Think about the choice you are making at every step *Constraints - What rules the choice must follow *Goal - What base case needs to be reached? *Backtracking is essentially just recursing on your decision if you screw up. *Look for words like "generate all" and "compute all". That will indicate backtracking is a good idea. Thanks for the video!
Happy Holidays 🎉 Thank you for your kind words! We'd love to offer you a 40% Off our exclusive lifetime membership just use the code CHEER40 - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=CHEER40
Hey just wanted to let you know that this video is INCREDIBLY helpful. I had an onsite interview with Google and this legit helped me solve 3 out of the 5 questions they asked me. Without ever seeing the problem before, I used this methodology and was able to solve the problems. HUGE thanks
Beautiful explanation. Almost feels criminal that it isn't a paid course or content..I struggled for sometime on most DP tutorials mostly because they were focusing on what to do and not why.
When UA-cam suggested this video for Backtracking, I was wondering why Lewis Hamilton is explaining Backtracking 🤔 😳. But you certainly didn't disappoint. Thanks for the great explanation 👍
I absolutely love your videos. Your explanations are just spot on. Your videos are the reason why I feel like I am getting a hold of difficult topics like recursion, DP, and backtracking. Great work dude!
Nice video man. I like your style of teaching, this is the first ever video of yours that I've watched and I like the casual style of teaching. It would be great if you could make videos that emphasize the guiding principle behind solving a problem and then share ways to attack the problem as well, in a direct way. Thanks and Cheers!
Hi Ben, You are really doing great job. The way you explain the problem, make it very easy to understand and sink.It not only help us to understand the thought process but also bringing interest in to solving this type of problems. Your video's are the best among all the you tube videos which i have seen so far. I really appreciate you and your friend's effort for bringing out such a awesome contents.
@@BackToBackSWE I today got placed at Wells Fargo and I am here to say thank you to you. From you, I have learned the most important technique that is how to approach a problem. Thanks again and keep sharing your knowledge
Thanks for making these videos! Your videos are always really engaging and really well-thought out. I hope you keep going with this channel; it's really invaluable to the SWE community. I feel this one particularly was really great because it really helps with building the mental model needed to approaching backtracking. You generally do a great job at this in your other videos, but I'm really glad you took the time to dedicate a whole video on the general approach. It's always great to be able to solve problems, but even more important to build the right intuition.
def solve(row, col, board): n = len(board) m = len(board[0]) # Base case: if we've reached the end of the board if col == m: return True # Recursive case: try placing a value in the current cell for value in range(1, 10): # Try values from 1 to 9 board[row][col] = value # Place the value in the current cell if validPlacement(row, col, board): # Check if the placement is valid # If the placement is valid, recursively solve for the next cell if solve(row, col + 1, board): return True # If the placement is not valid or does not lead to a solution, backtrack board[row][col] = 0 # Reset the cell to empty # If no value leads to a solution, return False return False def validPlacement(row, col, board): # Implement the logic to check if placing a value at the given row and column is valid pass # Placeholder, replace with your implementation # Example usage: # Initialize a 9x9 Sudoku board (as a list of lists) board = [ [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0] ] # Start solving from the top-left corner (row=0, col=0) if solve(0, 0, board): print("Solution found:") for row in board: print(row) else: print("No solution exists.") i think theres an error like we need to reset if placement is not valid here i see that its directly outside the fore loop means we reset every cell to 0 once every iteration s are done please corect me if im wrong
The content you are creating is valuable. Educational and entertaining and delivered a way that makes it stick in memory. The approach to the topics makes it easy to grasp and remember the base concepts and tool sets which gives the confidence to handle any interview question. Being able to quickly classify the type of problem and the tool set, algorithm and data structure to address it makes all the difference. If you could somehow show how to implement the code on white board would be cool. Also, some sample interview role playing with be great.
Very nicely done. One request. When you screen reference the previous related videos, could you add a link in your intro text along with the other excellent links you provide...I'm reviewing them all in sequence to help me work through these problems and leetcode questions. Your explanations provide great insights and I REALLY appreciate all of the effort you have placed in these discussions. Thank you!
Good stuff! It is a pitch my uni 'teacher' is using your material instead of doing his own . I feel that I should be giving you the tuition fee not to the university of York.
Thank you so much, really clarified my doubts about the usefulness of backtracking. My university teacher should be learning from you how to explain algorithms.
This was great. First time in your channel mate, and you have already earned another subscriber... Keep on making such videos, that'll help us looking at such algorithms from another perspective, and help you learn more as you make them! Thanks!
Can you send a index variable that marks where the last one came. So you dont reiterate through 1-9. Seeing as if the row failed on 1-6, its going to fail again and u'll be doing extra 6 loops.
I'm wondering if you could store the decision space in an array or hashset. So each stack frame would only have to loop through a _maximum_ of N choices, but a minimum of 1 choice.
If you're at cell (3,2) - 3rd row, 2nd column. You already know placements (0,2), (1,2), (2,2) and similarly (3,0), (3,1). So you need not search for the decision space that is already allocated to those cells. This optimisation would take up a lot of space though - so it may not be worth it.
When you “reset” the choice with board[row][col]=EMPTY_ENTRY, shouldn’t this line be under an else block inside the for loop? Currently you have it outside the for.
I think it should be outside. When you are backtracking you remove the latest update and return False, so when you go back to the caller of the function it sees that element of the board as empty
I am creating a sudoku grid filler (from empty cells) and using this approach. But after being able to fill two three rows with all constraints (of rows, columns and blocks) the program doesn't run. With any one constraint it works, but with all it goes whacky. Any help?
Bro, I have this constant doubt in my mind. can we apply DP on a matrix where we can reach a point from all 4 directions?? When can we apply DP vs when should we apply backtracking???
Not sure about the problem you are describing in the first part of your comment. As to the second part, it depends on the problem. DP is defined by subproblems that explicitly overlap and can reduce the time of a complete search or pruned search backtracking algorithm.
@@BackToBackSWE I will share a leetcode problem with you maybe that will work better. leetcode.com/discuss/interview-question/476340/Google-or-Onsite-or-Min-Modifications I see many people coming up with a DP solution, but can we apply DP in this question?? I know 0-1 BFS works perfectly fine but then as another alternative
@@BackToBackSWE 5-queen has 10 solutions (patterns) 8-queen has 92 solutions. X-Y coordinate of one pattern (one solution) in 5-queen is, for example, (1,5), (2,2),(3,4),(4,1) and (5,3) as follows. Qxxxx xxQxx xxxxQ xQxxx xxxQx It is easy to find out this one pattern. Does it take too much time to find out one pattern in 2500-queen or 5000-queen?
Table of Contents:
Beginning The Backtracking Discussion 0:00 - 1:08
The 3 Keys To Backtracking 1:08 - 2:40
The Choice: Defining Our Decision Space 2:40 - 5:50
The Constraints: Directing Our Recursion 5:50 - 7:42
Our Goal: When Recursion Bottoms Out 7:42 - 9:22
Lesson Summary 9:22 - 10:52
How Do We Know When We Can Use Backtracking 10:52 - 12:07
Wrap Up 12:07 - 13:25
I don't like the word "blueprint" for these problems. There are patterns, I agree. But memorization of code snippets and patterns will rob you of true learning. You won't learn how to think on your own. Don't learn templates, know what is going on deeply.
The code for the Sudoku solver problem is in the description.
@shaurya pratap singh Depends. Like...this is hard to answer. What I focus on is Big N companies and these kinds of questions. For any other job in tech I really am not sure...it depends what you want to do.
But yes, if you can do these then it basically proves you have the intellectual prowess to learn any tools used on the job.
Much much easier to go from being a computer scientist to being a software engineer, than to go from web development to being a computer scientist.
@shaurya pratap singh sure
A video on Dynamic programming blueprint as well
There is no code in the description
I can't find the link to your code
to master recursion, make sure that your first master recursion
“Our for loop is for exploration in the stack frame” thanks for phrasing it like that it makes a lot of sense to me now
yeah, I knew people would like that. I had that sentence circulating in my brain before I did this video (I had no script)...so I made sure I said it.
i love that your torso just blends into the background with the white shirt and you are just a benevolent set of floating body parts teaching us how to not fail finals tomorrow.
bro can you all make every video from now on like this?..... i love the graphics .... putting the code on the screen is major key
I wish I could. This took 7 hours. I...I really wish I could make everything top notch and it is annoying...but yeah I will continue to mix things up :)
I love your teaching approach, not directly jumping to solutions but showing entire thought process.
thanks
Hey man, long time subscriber here. 3 years ago I watched most videos on your channel and you are by far the greatest teacher I've had. I wish more people in the industry taught like you did - Clear and concise! You helped me crack my FAANG new grad interview, and now I'm back to get some refreshers to crack another FAANG possibly 😂. Just wanted to shout you out before I started my journey. THANK YOU! 🙏🏿
Sometimes we see things that are so splendid that we are out of words to express.And right now I am.
Thanks for this awesome video.
haha nice, thanks
I am so happy I found this channel! Dynamic Programming scares me but I am determined to combat that scare and these videos will help for sure. Thanks heaps :D
nice
I watched this video about a month ago when I was trying to get my head around backtracking but couldn't understand much. After solving a bunch of problems on Leet Code over the past month, I'm watching this video again, and surprisingly, it makes a lot more sense now xD
Thanks a lot!
Glad it was helpful! 😄 Also check out our FREE DSA Interview Prep Mini-Course - backtobackswe.com/ 🎉
This is how you become humble and knowledgable at the same time
haha nice
You are not teaching, you healing. The way you approach and progress towards the solution, putting yourself in our shoes like "how easy/difficult it would be to understand what I'm saying". As if you totally understand the situation we are in. I bow for that empathy! 👐🙏
thanks haha
*3 Keys: Choice, constraints, and goal.
*Choice - Think about the choice you are making at every step
*Constraints - What rules the choice must follow
*Goal - What base case needs to be reached?
*Backtracking is essentially just recursing on your decision if you screw up.
*Look for words like "generate all" and "compute all". That will indicate backtracking is a good idea.
Thanks for the video!
Happy Holidays 🎉 Thank you for your kind words! We'd love to offer you a 40% Off our exclusive lifetime membership just use the code CHEER40 - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=CHEER40
THIS MAN IS A LITERAL LEGEND. May you be blessed with glory in all three worlds.
I am normal
@@BackToBackSWE hahahaha ik ik. honestly thanks for giving back to the community.
Hey just wanted to let you know that this video is INCREDIBLY helpful. I had an onsite interview with Google and this legit helped me solve 3 out of the 5 questions they asked me. Without ever seeing the problem before, I used this methodology and was able to solve the problems. HUGE thanks
sure
This guy is helping us learn while also practicing to become a weather man
0 Dislikes tells that how much people like the way you explain.
Aw, thanks haha
Finally someone who could explain this to me in a way I actually understood...
ye
This is hands down the best description I've heard on helper method recursion/backtracking.
thx
Good channels are often underrated man! I am glad I explored your channel and got a ton of quality information, hope your channel grows!!
Man, your videos are really helpful. The way you explain it, your passion and your attitude is pure gold.
Thanks! you could always try the 5 day free mini course for some awesome content - backtobackswe.com/
you're a legend mate..better explanations than 95% of my uni profs
Give me 1-3 years...the legend will continue.
Beautiful explanation. Almost feels criminal that it isn't a paid course or content..I struggled for sometime on most DP tutorials mostly because they were focusing on what to do and not why.
hahah, I do have a paid course that I'm growing right now. But yeah, all the videos here are the property of the internet and mankind now.
This is such a simplified approach to backtracking! Hope you start making videos again!
Thank you for providing a template for the backtracking problems. As an aspiring software engineer, this helps a lot!
great to hear.
When UA-cam suggested this video for Backtracking, I was wondering why Lewis Hamilton is explaining Backtracking 🤔 😳.
But you certainly didn't disappoint. Thanks for the great explanation 👍
haha! thanks. Hoping to see Lewis back on the f1 track
Subscribe to our DSA course with a flat 30% discount for some amazing content b2bswe.co/3HhvIlV
I absolutely love your videos. Your explanations are just spot on. Your videos are the reason why I feel like I am getting a hold of difficult topics like recursion, DP, and backtracking. Great work dude!
Nice
"I kind of just went for it ..and talked a lot " . That's honestly funny.. nice videos my friend
yeah lol
These three keys are very useful inorder to find a pattern to solve any backtracking the problem !...Thanks a Ton bro !
sure
Not the hero we deserve, but the hero we need...
lol thx
Nice video man. I like your style of teaching, this is the first ever video of yours that I've watched and I like the casual style of teaching. It would be great if you could make videos that emphasize the guiding principle behind solving a problem and then share ways to attack the problem as well, in a direct way. Thanks and Cheers!
I like ur way of thinking and asking questions during solve any problem
2:53 I love that we all think as a first about a double for loop for each coding question :))
Hi Ben, You are really doing great job. The way you explain the problem, make it very easy to understand and sink.It not only help us to understand the thought process but also bringing interest in to solving this type of problems. Your video's are the best among all the you tube videos which i have seen so far. I really appreciate you and your friend's effort for bringing out such a awesome contents.
It's just me now, but yeah...thanks :)
Thanks for the video. Really helpful for my efforts to pass an algorithms and data structures class in undergrad CS.
This mental model was great to learn! Thank you for the quality.
I like your content. I appreciate your enthusiasm from your voice and smile.
Thank you! Please enjoy a special code from us - backtobackswe.com/checkout?plan=lifetime-legacy&discount_code=IneluctableConcomitant 🎉
Lol "i don't think that video is that good..." nah YOU ARE AMAZING MAN IF I PASS MY INTERVIEW ON FRIDAY A LARGE CREDIT WILL BE TO YOU. Thank you! ❤️
this video is one of the best i have ever seen on teaching skills.
thanks
@@BackToBackSWE I today got placed at Wells Fargo and I am here to say thank you to you. From you, I have learned the most important technique that is how to approach a problem. Thanks again and keep sharing your knowledge
I love you. Thank you so much. The last minute of reflection is all I need for the day. Thank you, thank you, thank you.
Happy Holidays! Really glad to help 🎉 Do you know about the 5 Day Free Mini Course? Check it out here - backtobackswe.com/
Thanks for making these videos! Your videos are always really engaging and really well-thought out. I hope you keep going with this channel; it's really invaluable to the SWE community. I feel this one particularly was really great because it really helps with building the mental model needed to approaching backtracking. You generally do a great job at this in your other videos, but I'm really glad you took the time to dedicate a whole video on the general approach. It's always great to be able to solve problems, but even more important to build the right intuition.
sure, I try my best....most of the time :)
Thank you dear man for your clear explanations! Hello from Russia!
you're just amazing I love how you went for it! keep it up !!!!! your channel is a treasure
Means a lot
Really awesome videos, watched most of your DP's, annoyed my friends sharing them all the links. Hope you & your channel achieve greater success!
thanks for sharing us, best thing anyone can do to help. And thanks, we are working on it.
i didn't knw abt backtracking at all and zis helped me on understanding string permutation more. Soo thank you.
sure
Thank you so much for this. Looking forward to seeing more videos regularly. I don't know why I didn't come across this channel sooner.
welcome
Awesome video :D
That was probably the best explanation of backtracking out there . Thanks a lot!
Thank you, glad you liked it 😀
Do check out backtobackswe.com/platform/content
and please recommend us to your family and friends 😀
Make the n-queen problem again please. U really helped me understand dynamic programming, thank you so much!
Yeah I think I can explain it better today vs 1 year ago
I love the clarity of your video! Thank you very much!
sure
def solve(row, col, board):
n = len(board)
m = len(board[0])
# Base case: if we've reached the end of the board
if col == m:
return True
# Recursive case: try placing a value in the current cell
for value in range(1, 10): # Try values from 1 to 9
board[row][col] = value # Place the value in the current cell
if validPlacement(row, col, board): # Check if the placement is valid
# If the placement is valid, recursively solve for the next cell
if solve(row, col + 1, board):
return True
# If the placement is not valid or does not lead to a solution, backtrack
board[row][col] = 0 # Reset the cell to empty
# If no value leads to a solution, return False
return False
def validPlacement(row, col, board):
# Implement the logic to check if placing a value at the given row and column is valid
pass # Placeholder, replace with your implementation
# Example usage:
# Initialize a 9x9 Sudoku board (as a list of lists)
board = [
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0]
]
# Start solving from the top-left corner (row=0, col=0)
if solve(0, 0, board):
print("Solution found:")
for row in board:
print(row)
else:
print("No solution exists.")
i think theres an error like we need to reset if placement is not valid here i see that its directly outside the fore loop means we reset every cell to 0 once every iteration s are done
please corect me if im wrong
This now my favorite channel for Data structures. Thank you for such amazing videos :)
sure
try mycodeschool channel
I don't know whether I told you this before, but your video are reallllllllllly great!
haha thanks
One thing missing from this video is explaining why the time complexity is what it is, what is the space complexity and, most importantly, WHY?
Yeah
first time on this channel and subscribed it... Awesome way of teaching... Request to everyone: Share this video more nd moe
ha thanks, we have a course where I'm posting more videos like this, check it out
Love the effects in the videos, helps us understand
great
dude I like how you explain your ideas, it's how I do it in my head, so I get it. Subscribed, nice content.
Wow, this video really opened a new way of looking at the problems. Thank you and keep making videos!
sure
The content you are creating is valuable. Educational and entertaining and delivered a way that makes it stick in memory. The approach to the topics makes it easy to grasp and remember the base concepts and tool sets which gives the confidence to handle any interview question. Being able to quickly classify the type of problem and the tool set, algorithm and data structure to address it makes all the difference. If you could somehow show how to implement the code on white board would be cool. Also, some sample interview role playing with be great.
Yeah, I have a video coming out in a little that will address the future of this project.
Very nicely done. One request. When you screen reference the previous related videos, could you add a link in your intro text along with the other excellent links you provide...I'm reviewing them all in sequence to help me work through these problems and leetcode questions.
Your explanations provide great insights and I REALLY appreciate all of the effort you have placed in these discussions. Thank you!
yeah sure
This consolidated my understanding of backtracking, thank you.
great.
Thanks for the best explanation. You have got my subscription and like.
Your explanation is seriously good. Keep up the videos. Would love to see your channel grow
thanks, me too
Best explanation I've found so far. Thank you man
Thank you for the video! This was really helpful and made it easier for me to understand Backtracking!
Great explanation.
Zero BS. Thanks
doing great job man!.... It's just my second video that i watched..... I really have respect for you .
nice thanks
Good stuff! It is a pitch my uni 'teacher' is using your material instead of doing his own . I feel that I should be giving you the tuition fee not to the university of York.
Hahaha!! 😀
Please do recommend us to your family and friends 😀
and do check out backtobackswe.com/platform/content
Thank you so much, really clarified my doubts about the usefulness of backtracking. My university teacher should be learning from you how to explain algorithms.
nice
This was great. First time in your channel mate, and you have already earned another subscriber...
Keep on making such videos, that'll help us looking at such algorithms from another perspective, and help you learn more as you make them! Thanks!
V TV FC hmm
Pls post video for unique path III (LC 980). There is no good explanation on this problem anywhere on youtube.
is there a precursor video to this? i feel like i understood nothing from your video.
Can you send a index variable that marks where the last one came. So you dont reiterate through 1-9. Seeing as if the row failed on 1-6, its going to fail again and u'll be doing extra 6 loops.
the title is general, but all the explanation is reliant on a very specific example. What if I don't know sudoko?
You could solve the Sudoku with DP, it would be faster: O(n*m), where n and m are the height and width of the grid.
ok
Absolutely stellar video and explanation of backtracking. Thank you.
Happy Holidays! Really glad to help 🎉 Do you know about the 5 Day Free Mini Course? Check it out here - backtobackswe.com/
Extremely good explanation.
Excellent video! Thank you for sharing. I love your explanation towards the end and could not agree more.
Glad you enjoyed it!
Can you give some link of the topic related problems in different online judges for practice .
We have a lot of backtracking problems on backtobackswe.com (paywall)
I'm wondering if you could store the decision space in an array or hashset. So each stack frame would only have to loop through a _maximum_ of N choices, but a minimum of 1 choice.
could you elaborate?
If you're at cell (3,2) - 3rd row, 2nd column. You already know placements (0,2), (1,2), (2,2) and similarly (3,0), (3,1). So you need not search for the decision space that is already allocated to those cells. This optimisation would take up a lot of space though - so it may not be worth it.
I am here only because I don't know how to play sudoku ✨️
Edit: I did not find out.
Well said at the end!
What did I say? Long time ago
Back To Back SWE
Your determination to save those people suffer from the tech interviews!
It's a really good brief! Thanks for the video !
When you “reset” the choice with board[row][col]=EMPTY_ENTRY, shouldn’t this line be under an else block inside the for loop? Currently you have it outside the for.
Where's the code in description that you mentioned at 10:09?
Love your videos man, you're a real one!
The Empty_Entry should be inside the for loop , isn't it ?
I think it should be outside. When you are backtracking you remove the latest update and return False, so when you go back to the caller of the function it sees that element of the board as empty
I am creating a sudoku grid filler (from empty cells) and using this approach. But after being able to fill two three rows with all constraints (of rows, columns and blocks) the program doesn't run. With any one constraint it works, but with all it goes whacky. Any help?
I can't debug your code
@@BackToBackSWE Yup. Totally get that. :) Thanks anyway.
You are real! That's all I can say! stay real man!!!
thx.
This has been SO helpful. Thank you thank you thank you for breaking it down in a way that makes it super easy to understand!
Loved your teaching style.. 😍 from india
wassup
Bro, I have this constant doubt in my mind. can we apply DP on a matrix where we can reach a point from all 4 directions?? When can we apply DP vs when should we apply backtracking???
Not sure about the problem you are describing in the first part of your comment. As to the second part, it depends on the problem. DP is defined by subproblems that explicitly overlap and can reduce the time of a complete search or pruned search backtracking algorithm.
@@BackToBackSWE I will share a leetcode problem with you maybe that will work better. leetcode.com/discuss/interview-question/476340/Google-or-Onsite-or-Min-Modifications
I see many people coming up with a DP solution, but can we apply DP in this question??
I know 0-1 BFS works perfectly fine but then as another alternative
You are a greatttttt teacher , Thankyou so much
Hey Ben , your explanation is awesome, can u please explain optimal game strategy question. From recursion to DP.
yeah, I may throw that into this site: twitter.com/thebigoguide
This video is great! Very well explained, and I loved the editing :) Awesome job dude!
Nice breakdown generally on how to think about a solving problem.
Thank you! All your explanation help my exam!
sure
Thank you for explaining this so well. Crystal clear.
Thank you, glad you liked it 😀
Do check out backtobackswe.com/platform/content
and please recommend us to your family and friends 😀
Awesome thank you!! Greatly explained generalization.
Is it easy or difficult to find one pattern (one solution) of 2500 or 5000 queens with Backtracking Algorithms?
what do you mean?
@@BackToBackSWE
5-queen has 10 solutions (patterns)
8-queen has 92 solutions.
X-Y coordinate of one pattern (one solution) in 5-queen is, for example,
(1,5), (2,2),(3,4),(4,1) and (5,3) as follows.
Qxxxx
xxQxx
xxxxQ
xQxxx
xxxQx
It is easy to find out this one pattern.
Does it take too much time to find out one pattern in 2500-queen or 5000-queen?