Implement A Sudoku Solver - Sudoku Solving Backtracking Algorithm ("Sudoku Solver" on LeetCode)

  Рет қаралды 121,701

Back To Back SWE

Back To Back SWE

Күн бұрын

Free 5-Day Mini-Course: backtobackswe.com
Try Our Full Platform: backtobackswe.com/pricing
📹 Intuitive Video Explanations
🏃 Run Code As You Learn
💾 Save Progress
❓New Unseen Questions
🔎 Get All Solutions
Question: Implement a Sudoku solver. (a classic Sudoku board is 9x9)
The Rules of Sudoku:
We are working with numbers 1 thorugh 9.
Each number can only appear once in a:
Row
Column
And one of the 3 x 3 subboxes
Approach 1 (Brute Force)
Try every possible assignment to empty entries and then at the end validate if the sudoku board is valid or not.
With no constraints, given a 9x9 board we have at max 81 spaces where in each space we can place the number 1-9 (but on a normal board many spaces will already have a number before we even start solving)
This means that there are 9^81 total arrangements of the board (as a loose upper bound). This is 1.9662705 * 10 ^ 77 boards just for a 9 x 9 board.
This would take too long.
Approach 2 (Apply The Constraints)
The backtracking approach.
We can traverse and place an entry in empty cells one by one.
We then check the whole board to see if it is still valid.
If it is we continue our recursion.
If it is not we do not even follow that path.
When all entries have been filled, we are finished.
The 3 Keys To Backtracking:
Our Choice
What we place in an empty cell that we see.
Our Constraints
Standard Sudoku constraints. We cannot make a placement that will break the board.
Our Goal
Place all empty spaces on the board. We will know we have done this when we have placed a valid value in the last cell in our search which programmatically will be the bottom right cell in the 2D matrix.
Validating Placements Before We Place Them
INSIGHT: We could traverse every row, column, and 3x3 subgrid to perform validation but at every decision point we know that we are adding onto a grid that is already valid.
So we just check the row, column, and subgrid of the item that has been added.
Whenever backtracking we know that every decision that we made stayed within the constraint that we started with being that the board was valid.
Complexities
Since Sudoku is traditionally 9x9 we can't really discuss complexities because nothing can scale.
Solving Sudoku generalized to n x n boards is a NP-Complete problem so we know for sure that our time complexity is exponential at the very least.
++++++++++++++++++++++++++++++++++++++++++++++++++
HackerRank: / @hackerrankofficial
Tuschar Roy: / tusharroy2525
GeeksForGeeks: / @geeksforgeeksvideos
Jarvis Johnson: / vsympathyv
Success In Tech: / @successintech
++++++++++++++++++++++++++++++++++++++++++++++++++
This question is number 16.9 in "Elements of Programming Interviews" by Adnan Aziz, Tsung-Hsien Lee, and Amit Prakash.

Пікірлер: 316
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
Table of Contents: The Problem Introduction 0:00 - 0:44 More Information On The Problem 0:44 - 1:52 The Brute Force Approach (Complete Search) 1:52 - 3:09 The Backtracking Approach (3 Keys To Backtracking) 3:09 - 3:30 Our Choice 3:30 - 4:18 Our Constraints 4:18 - 6:28 Our Goal 6:28 - 7:41 Time & Space Complexity 7:41 - 9:11 Conclusion 9:11 - 9:34 The code for this problem is in the description (with many comments for teaching purposes).
@raghavkakar8092
@raghavkakar8092 4 жыл бұрын
Where is the code in the desc?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@farahalaa2362
@farahalaa2362 4 жыл бұрын
Hello, why the filling in empty spaces is row by row ?
@ostapo2888
@ostapo2888 4 жыл бұрын
​@@raghavkakar8092 here is the simplest solution using the approach from the video if you really need it - github.com/orishko-py/codewars/blob/master/sudoku-solver.py
@tanaygupta632
@tanaygupta632 4 жыл бұрын
Where the fuck is code in description?
@lilzjay9732
@lilzjay9732 5 жыл бұрын
Hey bro, you are not yelling. I can feel a strong passion from your voice!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
Nah...I'm yelling haha
@aayushsharma1452
@aayushsharma1452 3 жыл бұрын
@@BackToBackSWE no you are not
@bisann2441
@bisann2441 3 жыл бұрын
thank u so much!! but where's the code exactly?
@johnskeff9617
@johnskeff9617 2 жыл бұрын
Where is the code?? There is NO code in the description!
@xinzhang5877
@xinzhang5877 5 жыл бұрын
very clear to illustrate the hard part of this problem. Great job man, you deserve more subs, and keep going!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thx
@sobowaleolamide4177
@sobowaleolamide4177 4 жыл бұрын
Nice solution. I followed your approach but I did a bit of an update on it. Instead of checking everytime if a character can be placed in row or column or region at O(n^2) runtime, you can do that in constant time by saving keeping track of the content of each region, each row, and each column, then you can backtrack on it. after trying any character.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
nice
@anshulabhinav13
@anshulabhinav13 4 жыл бұрын
I was hoping you would do a dry run on the example input board, just like you do for most of your other videos. That really helps in firming the understanding, more than the code.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
yeah
@vibhoresrivastava6087
@vibhoresrivastava6087 4 жыл бұрын
Great explanation. I've checked out a lot of your videos past few days. You are doing a great job. Wish my algorithms professor was like this.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks
@algorithmimplementer415
@algorithmimplementer415 5 жыл бұрын
If you keep this up, as you started at the very young age at college, I am sure you will go very far. :)
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
I will haha, this is the next launch twitter.com/thebigoguide, then I'll be back to tend to this channel
@shuaisun1831
@shuaisun1831 5 жыл бұрын
I love your videos. They are very helpful and you explain each problem clearly. Thanks
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
I love u
@somerandomguy000
@somerandomguy000 3 жыл бұрын
I actually prefer the yelling and passionate approach. You’re the best!
@alzaeem79
@alzaeem79 Жыл бұрын
Thanks a lot man, you're helping tons of people. Hope you have a great day
@shivankchaturvedi4817
@shivankchaturvedi4817 4 жыл бұрын
U aren't yelling this shows ur passion towards the problem don't change the tone
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks haha
@ankuragarwal4014
@ankuragarwal4014 5 жыл бұрын
Excellent Explanation and it can be easily seen , the amount of effort you have done thanks a lot for this video
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
sure
@aidandanielski
@aidandanielski 4 жыл бұрын
I love your video. It's one half Sudoku tutorial and one half inspirational speech. Backtracking can solve many problems.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
lmao, old video, apologies
@aidandanielski
@aidandanielski 4 жыл бұрын
@@BackToBackSWE Quality trumps age. (You know what I mean...) ;)
@xiuwenzhong7375
@xiuwenzhong7375 5 жыл бұрын
cannot believe it, I first search Sudoku Solver in youtube, I did not found your video. Then I watch other guys video which make me confused but I saw a leetcode link under that video comments. Then in the leetcode discuss, I saw your video link, that's how I found it.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
hahahahahaha, yeah, this channel is new and KZbin thinks it sucks ass
@Maen963
@Maen963 4 жыл бұрын
U R A LEGEND ! KEEP IT UP 💪
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
no u
@muj99ali
@muj99ali 4 жыл бұрын
I got this same question in an interview, and the problem I faced was in checking if placing an element breaks a sub grid or not (It's relatively easy to check rows and columns). I believe that's the only important thing missing in this video. Otherwise I'm a huge fan of your channel ❤️
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thx
@ptronic
@ptronic 2 жыл бұрын
It's not hard if row between 1 and 3 and column between 1 and 3 subsection 1 etc
@prakhargupta7125
@prakhargupta7125 5 жыл бұрын
bro you deserve million views and subscribers.thnk u!!
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
haha thanks
@lizziedaffofil6064
@lizziedaffofil6064 2 жыл бұрын
Loved it more when you are loud:) such energy is contagious!
@umber3117
@umber3117 5 жыл бұрын
Thanks for the great explanation and clean code.You made my day.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
nah, you made my day for watching
@sahiljindal3202
@sahiljindal3202 4 жыл бұрын
Mr. Nobody provide code to me too
@steelcube
@steelcube 4 жыл бұрын
What happen when the program has picked a number for a cell and later needs to change it due to other cells constrains? I mean it could be valid at the time it picks a number but may need to be changed later?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Yes, if that is the case that choice will take us down a path that will hit a "dead end". We will backtrack to the same decision point and make the next decision from that same cell into a new path of exploration.
@matejriha4128
@matejriha4128 4 жыл бұрын
@@BackToBackSWE How do I locate the number which caused the problem?
@JH-dg9kl
@JH-dg9kl 5 жыл бұрын
I don't understand whats all the dislike..what amazing explanation. he basically told you the approach. the coding part is easy. the check if can place part is basically the previous question ValidSudoku. I actually prefer this kind tutorial rather that just given me the code upfront.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
Hahah, the video's quality is kinda bad.
@airysm
@airysm 5 жыл бұрын
Hey thanks for the vid! I was looking over the code and the comments really help make everything clear but the one thing I didn’t get was in the valid char placement method when you check if its a valid placement in the region, the formula for int I,J and topLeftOfRow,Col how did you derive those?
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
int regionSize = (int) Math.sqrt(board.length); // gives us the size of a sub-box In a 9 x 9 board, we will have 9 sub boxes (3 rows of 3 sub-boxes). int I = row / regionSize; int J = col / regionSize; The "I" tells us that we are in the Ith sub-box row. (there are 3 sub-box rows) The "J" tells us that we are in the Jth sub-box column. (there are 3 sub-box columns) Integer properties will truncate the decimal place so we just know the sub-box number we are in. int topLeftOfBlockRow = regionSize * I; // the row of the top left of the block int topLeftOfBlockCol = regionSize * J; // the column of the tol left of the block That multiplication takes us to the EXACT top left of the sub-box. We keep the (row, col) of these values because it is important. It lets us traverse the sub-box with our double for loop. Each coordinate we touch will be found by an offset from topLeftOfBlockRow and topLeftOfBlockCol. For 20 minutes I debated what to name these things and I literally couldn't think of a very clear name so left them alone. The fact you had to ask this means the code is too opaque. It is my fault and I will rename things to make things more clear.
@airysm
@airysm 5 жыл бұрын
Back To Back SWE no worries! Thanks for the explanation
@mihailovasic4623
@mihailovasic4623 4 жыл бұрын
Hey mate, love your videos, but I have a question about the line 35: board[row][col] = EMPTY_ENTRY; why does it work with it and why doesn't it work without it? I mean, you set a value for a cell, and then you set it to EMPTY_ENTRY, why?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Imagine what is really happening. It doesn't matter if clear it or not. The cell gets overwritten.
@samwenda3261
@samwenda3261 5 жыл бұрын
Thanks for the video, it's good explanation. Can you make a video about 8 puzzle problems using backtracking, I really hope for it?
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
maybe? Technically I can only directly make videos requested by patrons but I'll consider it. (if someone sees this comment in 1-3 years and the Patreon doesn't exist ignore this)
@beteltadesse9803
@beteltadesse9803 2 жыл бұрын
Great Explanation! Thank you Brother!
@anushkachakraborty8635
@anushkachakraborty8635 3 жыл бұрын
This is the third succesful classic algorithm I learnt from you. Absolutely love your way of teaching ^_^
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
great and thanks
@CodingWithPrakash_
@CodingWithPrakash_ 3 жыл бұрын
kzbin.info/www/bejne/qHucf3mBbtiSo6s Valid Suduko (Explained like a champ)
@roshanpandey5357
@roshanpandey5357 4 жыл бұрын
It's always safe to like your video at the very start.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
lol
@mallikarjunpidaparthi
@mallikarjunpidaparthi 4 жыл бұрын
Wow.. brother thank you... You made this really easy
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
sure
@ImpactfulEASON
@ImpactfulEASON 5 жыл бұрын
Nice explanation, I find easier to understand the reasoning behind the approach
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
nice
@gurtagel
@gurtagel 5 жыл бұрын
One question I have is how we can figure out which valid value to use. For example, when we are looking at the second blank spot, you put a 2 there and proceed with the assumption that it is valid. However, how did you know that the second blank could not be a 6 instead. There are no 6's in that row, column, or sub-matrix?
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
When I place the 2 I just randomly choose that number, no methodology behind it. Check out the code in the description. What really happens is that we try numbers 1 to 9 using a for loop and if a placement ends up not working we backtrack and remove it from the board.
@MuhammadFarooq-wi7vl
@MuhammadFarooq-wi7vl 4 жыл бұрын
Such a simpler and great explaination....and u are not yelling man😆....thanks it was very helpful...👍
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks, ok, and great
@practice8844
@practice8844 3 жыл бұрын
your explanation is best ,best teacher ever
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
thx
@andresabello5639
@andresabello5639 2 жыл бұрын
yeees, I am not a better person but I love your energy and now I know how to solve and that makes me a better engineer. Thank you! And please don't change your style.
@BackToBackSWE
@BackToBackSWE 2 жыл бұрын
Thank you, glad you liked it 😀 Do check out backtobackswe.com/platform/content and please recommend us to your family and friends 😀
@ranjeetgaikwad4786
@ranjeetgaikwad4786 3 жыл бұрын
thank you very much sir, very helpful
@gowrivinaykamalakars7818
@gowrivinaykamalakars7818 Жыл бұрын
Thanks for your wonderful explanation sir..
@yashmistry61
@yashmistry61 4 жыл бұрын
Thank you guys this video helped me in my assignment Thank you again Where are you from guys?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
maryland usa
@joshstafford9353
@joshstafford9353 4 жыл бұрын
When did you actually explain backtracking though...
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
dont remeber this vid
@sharpnova2
@sharpnova2 3 жыл бұрын
he didn't at all. kind of weird. i clearly see how to solve this problem from what he did say but only because of my background
@awsomecrossing
@awsomecrossing 3 жыл бұрын
What if in the middle of the grid validation check fails? What do you do then?
@subratrai1146
@subratrai1146 3 жыл бұрын
love you man!!
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
u 2
@vanyastaleva415
@vanyastaleva415 4 жыл бұрын
Hmmm, am I the only one who can't find the code? He said that in the description box there is a link to the code
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@SunFoxPL1
@SunFoxPL1 4 жыл бұрын
@@BackToBackSWE So if we want to see the code we need to pay? That's... really ugly. I mean it's really ugly marketing move.
@mangekostorm9211
@mangekostorm9211 4 жыл бұрын
@@SunFoxPL1 It's still on his github though it is no longer maintained. The solution is also available on a variety of other websites. It makes sense that you should pay for new content (and it's much cheaper compared to other coding schools) since he is taking so much time to prepare and constantly update the materials when he could be working a SWE job and making a SWE salary. We should be thankful that he still has his original videos up.
@SunFoxPL1
@SunFoxPL1 4 жыл бұрын
@@mangekostorm9211 Oh I don't mind him getting money for what he is doing, just the fact that he posts video on youtube which is just half done (there is no code, and when someone asks about the code he just says that you need to go to the webpage and pay) is very unprofessional.
@prinzuchoudhury6920
@prinzuchoudhury6920 4 жыл бұрын
github.com/bephrem1/backtobackswe/blob/master/Dynamic%20Programming%2C%20Recursion%2C%20%26%20Backtracking/SudokuSolver/SudokuSolver.java
@VinaySachdevaK-EE-
@VinaySachdevaK-EE- 4 жыл бұрын
Great Video, Was just wondering where is the code...
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks and the repository is deprecated - we only maintain backtobackswe.com now.
@0saptarshi
@0saptarshi 4 жыл бұрын
Hi Sri,I couldnt find your code in the description below.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@willturner3440
@willturner3440 3 жыл бұрын
I am addicted to your teaching style, I can watch your lecture whole day 😄
@abhyasood4198
@abhyasood4198 3 жыл бұрын
absolutely love the way you explain everything... has helped me a lot.
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
great!
@vishaldobariya
@vishaldobariya 2 жыл бұрын
Why you have two 9s in ROW number 3? Is that correct?
@rajakumar-eg7dl
@rajakumar-eg7dl 4 жыл бұрын
How i can apply vanilla backtracking on this problem for at-least 10 iterations
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
not sure
@eltonli8458
@eltonli8458 Жыл бұрын
Great! Thank you!
@BackToBackSWE
@BackToBackSWE Жыл бұрын
glad it helped
@mohamedarshathn7768
@mohamedarshathn7768 5 жыл бұрын
Thanks for leetcode discuss 😇. Finally, found a great channel.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
hahaha
@salmankhurshid4410
@salmankhurshid4410 3 жыл бұрын
Nice video and great explanation. I have brought our course but all videos are not there, what I meant is that some videos that are there on youtube are not in the course. why so?
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
Hi! The intention is that some videos here are lower quality and don't explain the problem how I see it best explained. Also bad gear like microphone kept some videos out of the service as well tabled for a reshoot.
@rishabkumar4940
@rishabkumar4940 4 жыл бұрын
Man you are amazing!!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
thanks - im normal
@CodingWithPrakash_
@CodingWithPrakash_ 3 жыл бұрын
kzbin.info/www/bejne/qHucf3mBbtiSo6s Valid Suduko (Explained like a champ)
@charlesliu1439
@charlesliu1439 2 жыл бұрын
Very clear.
@swatirauniyar9062
@swatirauniyar9062 4 жыл бұрын
In the description box above I can't find the link of your code.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated and we only maintain backtobackswe.com now.
@NeerajSharma-oz1mm
@NeerajSharma-oz1mm 3 жыл бұрын
Bro.. Please be loud Excited teacher is effective teacher. :)
@sankarprasadpanda9431
@sankarprasadpanda9431 4 жыл бұрын
Where i can find the code!! Not finding in description.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com
@interviewprep6259
@interviewprep6259 4 жыл бұрын
This is brilliant. Thank you!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
sure
@ASASAN
@ASASAN 5 жыл бұрын
1:04 Double "Our Choice" on screen ? :))
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
OOPSIE!
@lomeshdaheria9960
@lomeshdaheria9960 3 жыл бұрын
Can someone tell me where is the code I can't find it in the description
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@xxbighotshotxx
@xxbighotshotxx 5 жыл бұрын
Awesome explanation. Backtracking makes sense now. Thank you
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
great
@farahalaa2362
@farahalaa2362 4 жыл бұрын
Hello, why filling in empty spaces is row by row ?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
wym
@kaushiquedhrubo908
@kaushiquedhrubo908 4 жыл бұрын
how do you learn all these difficult algos for yourself.....
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
I'm a student and I just use the internets.
@amirtv106
@amirtv106 4 жыл бұрын
Reading
@dbldzo
@dbldzo 4 жыл бұрын
Hey man, this was probably the best coding explanation, so glad I've found this video because I have the same problem waiting to be solved. The only difference is that the given board (also 9x9) is completely empty, no placement of any number whatsoever. Is there any change in the "choice" part? P.S. The code is not here anymore, any information on that? P.P.S. Keep it up, don't stop whatever you are doing!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Is there any change in the "choice" part? No P.S. The code is not here anymore, any information on that? The repository is deprecated - we only maintain backtobackswe.com. P.P.S. Keep it up, don't stop whatever you are doing! Thanks.
@newtonpermetersquared
@newtonpermetersquared 2 жыл бұрын
@@BackToBackSWE It would be helpful if you put note about the deprecated repo in the description. But thanks for the video though 👌🏾
@chetthejet3896
@chetthejet3896 4 жыл бұрын
Being you answered all of the questions asked of you, I would like to know if I use a blank board how many different puzzles can I create? Your video is far beyond my comprehension so I will not say you are a poor teacher, but you are the first person to answer all of the questions on your site. I asked a relative that question (he had a doctors degree in math) and he did not or could not answer my question. I enjoy the puzzles but not as a math problem. For me that takes the fun out of the hobby.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
How many different sudoku boards? Well, that's hard. The total invalid boards is 9*9*9*9*9*9*9*9*9*9*9...basically n^n which is 9^9 which is 387,420,489 boards. Valid boards? That is harder to count.
@chetthejet3896
@chetthejet3896 4 жыл бұрын
​@@BackToBackSWE Thank you Bro. I figured you would give me a good answer.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
@@chetthejet3896 lol, I try
@karljay7473
@karljay7473 4 жыл бұрын
One of the problems I'd have with this is that the 1 at the start might not be the correct answer. The first empty cell could be 1,2 or 4. You don't know which it will be until you solved a certain number of the rest of the puzzle. I'm guessing the code keeps passing thru, but while you're there you could just find ALL the answers the position could be before you move on. I get that 1 has a 1 in 3 chance of being correct, but I'm not sure if that's the best approach.
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The backtracking does that right? Makes a choice, goes deep into it, comes back if infeasible.
@karljay7473
@karljay7473 4 жыл бұрын
@@BackToBackSWE I haven't written any code for Sudoku puzzles, but it seems that having info on what a given cell can and can't be, helps to eliminate other paths so that you don't have to do a full check. In other words, knowing that a given cell can only be 1,2,4 you can use that knowledge to reduce the number of checks in the 3 sections (horizontal, vertical, 3x3 local grid). That should narrow down what the other one can be. I'd have to run thru your code, but seems like it's not taking advantage of complete knowledge of all paths. In other words, if you have 6 paths and you reduce that to 3 paths, you cut the amount of time needed to find the final solution. Much like the "find the hidden word" puzzle. If you see "Applz" you don't have to check it again, you know it's not a word, it can't make a word, you can mark that branch as a dead end branch using DP. I'd have to write the code to see if it's any better or doing the same thing.
@rathan235
@rathan235 Жыл бұрын
Good job, but where's the code?
@yicai7
@yicai7 3 жыл бұрын
Feel like a backtracking pro
@kristianusifoh9307
@kristianusifoh9307 4 жыл бұрын
Hey bro thank you for your video. I couldn't get the code to look at how it was implemented
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
It is on my github but the repsoitory is deprecated
@kristianusifoh9307
@kristianusifoh9307 4 жыл бұрын
Back To Back SWE ok thank you.
@caretakerrandom8818
@caretakerrandom8818 4 жыл бұрын
where is the code??????????
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
depdeceted repo, no longer used
@littlboz
@littlboz 5 жыл бұрын
This video is much better. I like the toned down style. Good job.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
I like toned down too :)
@azadalishah2966
@azadalishah2966 4 жыл бұрын
Where is the code link? I don’t see in description
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Hi, the repository is deprecated - we only maintain backtobackswe.com now
@cleolin5679
@cleolin5679 3 жыл бұрын
Where can I find the code?
@masc0648
@masc0648 2 жыл бұрын
Can some one point we to the link of the code ?
@lomeshdaheria9960
@lomeshdaheria9960 3 жыл бұрын
Thank you 😊😊😊 ben
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
sure
@bru9jat
@bru9jat 4 жыл бұрын
Where is the link to the code?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The respository is deprecated - we only maintain backtobackswe.com
@Neo_Nkosi
@Neo_Nkosi 2 жыл бұрын
I can't see the coded solution in your description😢
@ayyubshaffy3612
@ayyubshaffy3612 4 жыл бұрын
yo I dont see the code in the description anyways nice video :)
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now. and thx
@aiman1562
@aiman1562 4 жыл бұрын
@@BackToBackSWE how can i get the code if that's possible?
@tejenderjeetsohi2128
@tejenderjeetsohi2128 4 жыл бұрын
Where is the code?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com
@adamr-personal8035
@adamr-personal8035 4 жыл бұрын
Is this solution supposed to be working for any Sudoku Grid?
@adamr-personal8035
@adamr-personal8035 4 жыл бұрын
Besides that - this is great channel - I am just preparing for the coding interview at Facebook, as a VR dev- and you're helping me a lot! Thanks!!!
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Yes, it can easily be generalized to any Sudoku grid (forgot the exact dimensions though).
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Nice, sure no problem.
@tomeve4823
@tomeve4823 4 жыл бұрын
Sorry i cant find your code could u give me the link to the code please?thank you !
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@sharpnova2
@sharpnova2 3 жыл бұрын
@@BackToBackSWE fuck you.
@vaishnavism5110
@vaishnavism5110 4 жыл бұрын
um hey where is the code??
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@SC2BuildOrder
@SC2BuildOrder 4 жыл бұрын
i love this man so goddamn much holy shit
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
no u
@sharpnova2
@sharpnova2 3 жыл бұрын
why? he left out the most important part of the algorithm and then pulled the code. he's trash.
@sakshigupta9111
@sakshigupta9111 4 жыл бұрын
where is the code for this problem??
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now
@prinzuchoudhury6920
@prinzuchoudhury6920 4 жыл бұрын
github.com/bephrem1/backtobackswe/blob/master/Dynamic%20Programming%2C%20Recursion%2C%20%26%20Backtracking/SudokuSolver/SudokuSolver.java
@MegaWindow8
@MegaWindow8 3 жыл бұрын
Code in the description?
@user-sm1xs2ww9m
@user-sm1xs2ww9m 6 ай бұрын
3:50 row, column traversal 4:40 we cannot break the board (dont do an n^2 check) 6:30 how do i know im finished
@jayavardhan430
@jayavardhan430 3 жыл бұрын
Excuse me anyone please tell me where is the code
@Official_Southpaw
@Official_Southpaw 5 жыл бұрын
Can you be my Algorithms professor? Lol great video! I can get my assignment done and sleep now.
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
I would be a professor if I had the interest but I think in this lifetime I probably won't be one.
@bishwhat6554
@bishwhat6554 5 жыл бұрын
why am i watching this im still doing intro c++ lol
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
hahahahahahahaha no idea
@bishwhat6554
@bishwhat6554 5 жыл бұрын
@@BackToBackSWE if you had to guess, what year of computing science is this?
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
@@bishwhat6554 I understand the intent of this question but I don't think it has an answer. It is...any year? You'd just understand this when you understand it? A 10 year old could understand this if they had proper precontext....it just happens that age brings such precontext.
@sophiehall38
@sophiehall38 5 жыл бұрын
I don't think you are yelling either. Good job
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
aw
@devalmodi5350
@devalmodi5350 4 жыл бұрын
where is the code?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
The repository is deprecated, it is on my github but no longer maintained
@jibxjib
@jibxjib 5 жыл бұрын
I love you so much
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
thx
@sameerranjan2039
@sameerranjan2039 4 жыл бұрын
inspiring ! (you compelled me to comment :)
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
nice
@yashsrivastava9541
@yashsrivastava9541 4 жыл бұрын
I could not find the code.please help
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
THe repository is deprecated but stil on my gituhb
@hakoHiyo271
@hakoHiyo271 3 жыл бұрын
I was interested in hearing about backtracking part which is not there in this video.
@ranajitmukherjee9789
@ranajitmukherjee9789 3 жыл бұрын
Can u please provide the code?
@BackToBackSWE
@BackToBackSWE 3 жыл бұрын
The repository is deprecated - we only maintain backtobackswe.com now.
@venvanman
@venvanman Жыл бұрын
co-pilot sent me here for some reason lmaoooo
@navyananjala5012
@navyananjala5012 5 жыл бұрын
Can u have a code for tentaizu game
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
yes and yes
@kabooby0
@kabooby0 4 жыл бұрын
Go back to yelling please : ) Now - what about an algo which traverses every square and adds in the correct number only for those squares which have 1 possible entry. That loop runs continuously on the same grid until it stops making additions to the grid. At this point the grid is either solved or we use the recursive backtracking algorithm to produce the solved grid(s). Would doing that be faster?
@BackToBackSWE
@BackToBackSWE 4 жыл бұрын
Ok. and not sure, that is an idea. it could come to a lock where no cells are single possibility so you'd have to prove the algorithm terminates.
@kvantro7909
@kvantro7909 3 жыл бұрын
I can't find the codeee
@navyananjala5012
@navyananjala5012 5 жыл бұрын
Can u have a code for tenutio game
@BackToBackSWE
@BackToBackSWE 5 жыл бұрын
yes
Create a Sudoku Solver In Java In 20 Minutes - Full Tutorial
20:25
Coding with John
Рет қаралды 317 М.
The Change Making Problem - Fewest Coins To Make Change Dynamic Programming
23:12
Happy 4th of July 😂
00:12
Pink Shirt Girl
Рет қаралды 60 МЛН
KINDNESS ALWAYS COME BACK
00:59
dednahype
Рет қаралды 137 МЛН
The N Queens Problem using Backtracking/Recursion - Explained
14:29
Back To Back SWE
Рет қаралды 134 М.
Python Sudoku Solver - Computerphile
10:53
Computerphile
Рет қаралды 1,1 МЛН
Why do calculators get this wrong? (We don't know!)
12:19
Stand-up Maths
Рет қаралды 2,1 МЛН
BACKTRACKING: How to solve (almost) any problem.
12:49
Santiago Fiorino
Рет қаралды 53 М.
I Made Sudoku Solve Itself!
35:42
Terranova Tech
Рет қаралды 40 М.
The SAT Question Everyone Got Wrong
18:25
Veritasium
Рет қаралды 12 МЛН
Sudoku problem (Hard) | Solve problems with Leetcode
33:43
Front-end Science із Сергієм Пузанковим
Рет қаралды 20 М.
Sudoku solvers: backtracking or logic?
5:06
Games Computers Play
Рет қаралды 7 М.
Todos os modelos de smartphone
0:20
Spider Slack
Рет қаралды 496 М.
Опять съемные крышки в смартфонах? #cmf
0:50
Tag her 🤭💞 #miniphone #smartphone #iphone #samsung #fyp
0:11
Pockify™
Рет қаралды 38 МЛН
Зачем ЭТО электрику? #секрет #прибор #энерголикбез
0:56
Александр Мальков
Рет қаралды 57 М.