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

Sdílet
Vložit
  • čas přidán 5. 07. 2024
  • 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.
  • Věda a technologie

Komentáře • 316

  • @BackToBackSWE
    @BackToBackSWE  Před 5 lety +35

    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 Před 4 lety +20

      Where is the code in the desc?

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety +1

      The repository is deprecated - we only maintain backtobackswe.com now.

    • @farahalaa2362
      @farahalaa2362 Před 4 lety +2

      Hello, why the filling in empty spaces is row by row ?

    • @ostapo2888
      @ostapo2888 Před 4 lety +6

      ​@@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 Před 4 lety +27

      Where the fuck is code in description?

  • @lilzjay9732
    @lilzjay9732 Před 5 lety +191

    Hey bro, you are not yelling. I can feel a strong passion from your voice!

  • @bisann2441
    @bisann2441 Před 3 lety +20

    thank u so much!! but where's the code exactly?

  • @xinzhang5877
    @xinzhang5877 Před 5 lety +5

    very clear to illustrate the hard part of this problem. Great job man, you deserve more subs, and keep going!

  • @vibhoresrivastava6087
    @vibhoresrivastava6087 Před 4 lety +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.

  • @johnskeff9617
    @johnskeff9617 Před 2 lety +3

    Where is the code?? There is NO code in the description!

  • @anshulabhinav13
    @anshulabhinav13 Před 4 lety +10

    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.

  • @sobowaleolamide4177
    @sobowaleolamide4177 Před 4 lety +6

    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.

  • @algorithmimplementer415
    @algorithmimplementer415 Před 5 lety +7

    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  Před 5 lety

      I will haha, this is the next launch twitter.com/thebigoguide, then I'll be back to tend to this channel

  • @shuaisun1831
    @shuaisun1831 Před 5 lety +2

    I love your videos. They are very helpful and you explain each problem clearly. Thanks

  • @alzaeem79
    @alzaeem79 Před rokem

    Thanks a lot man, you're helping tons of people.
    Hope you have a great day

  • @somerandomguy000
    @somerandomguy000 Před 3 lety +2

    I actually prefer the yelling and passionate approach. You’re the best!

  • @ankuragarwal4014
    @ankuragarwal4014 Před 5 lety +1

    Excellent Explanation and it can be easily seen , the amount of effort you have done
    thanks a lot for this video

  • @aidandanielski
    @aidandanielski Před 4 lety +1

    I love your video. It's one half Sudoku tutorial and one half inspirational speech. Backtracking can solve many problems.

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      lmao, old video, apologies

    • @aidandanielski
      @aidandanielski Před 4 lety

      @@BackToBackSWE Quality trumps age. (You know what I mean...) ;)

  • @Maen963
    @Maen963 Před 4 lety +4

    U R A LEGEND ! KEEP IT UP 💪

  • @airysm
    @airysm Před 5 lety +2

    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  Před 5 lety +3

      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 Před 5 lety +1

      Back To Back SWE no worries! Thanks for the explanation

  • @mihailovasic4623
    @mihailovasic4623 Před 4 lety +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  Před 4 lety

      Imagine what is really happening. It doesn't matter if clear it or not. The cell gets overwritten.

  • @lizziedaffofil6064
    @lizziedaffofil6064 Před 2 lety +1

    Loved it more when you are loud:) such energy is contagious!

  • @umber3117
    @umber3117 Před 5 lety +2

    Thanks for the great explanation and clean code.You made my day.

  • @prakhargupta7125
    @prakhargupta7125 Před 5 lety +1

    bro you deserve million views and subscribers.thnk u!!

  • @steelcube
    @steelcube Před 4 lety +10

    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  Před 4 lety +2

      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 Před 4 lety +5

      @@BackToBackSWE How do I locate the number which caused the problem?

  • @shivankchaturvedi4817
    @shivankchaturvedi4817 Před 4 lety +2

    U aren't yelling this shows ur passion towards the problem don't change the tone

  • @beteltadesse9803
    @beteltadesse9803 Před 2 lety

    Great Explanation! Thank you Brother!

  • @gurtagel
    @gurtagel Před 5 lety +3

    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  Před 5 lety +1

      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.

  • @awsomecrossing
    @awsomecrossing Před 3 lety

    What if in the middle of the grid validation check fails? What do you do then?

  • @xiuwenzhong7375
    @xiuwenzhong7375 Před 5 lety +2

    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  Před 5 lety

      hahahahahaha, yeah, this channel is new and CZcams thinks it sucks ass

  • @mallikarjunpidaparthi
    @mallikarjunpidaparthi Před 4 lety +1

    Wow.. brother thank you... You made this really easy

  • @vishaldobariya
    @vishaldobariya Před 2 lety

    Why you have two 9s in ROW number 3? Is that correct?

  • @gowrivinaykamalakars7818

    Thanks for your wonderful explanation sir..

  • @samwenda3261
    @samwenda3261 Před 5 lety +2

    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  Před 5 lety +2

      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)

  • @ImpactfulEASON
    @ImpactfulEASON Před 5 lety +1

    Nice explanation, I find easier to understand the reasoning behind the approach

  • @muj99ali
    @muj99ali Před 4 lety +2

    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  Před 4 lety

      thx

    • @ptronic
      @ptronic Před 2 lety

      It's not hard if row between 1 and 3 and column between 1 and 3 subsection 1 etc

  • @rajakumar-eg7dl
    @rajakumar-eg7dl Před 4 lety +1

    How i can apply vanilla backtracking on this problem for at-least 10 iterations

  • @0saptarshi
    @0saptarshi Před 4 lety +2

    Hi Sri,I couldnt find your code in the description below.

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated - we only maintain backtobackswe.com now.

  • @roshanpandey5357
    @roshanpandey5357 Před 4 lety +1

    It's always safe to like your video at the very start.

  • @ranjeetgaikwad4786
    @ranjeetgaikwad4786 Před 3 lety

    thank you very much sir, very helpful

  • @swatirauniyar9062
    @swatirauniyar9062 Před 4 lety +1

    In the description box above I can't find the link of your code.

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated and we only maintain backtobackswe.com now.

  • @sankarprasadpanda9431
    @sankarprasadpanda9431 Před 4 lety +2

    Where i can find the code!! Not finding in description.

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated - we only maintain backtobackswe.com

  • @anushkachakraborty8635
    @anushkachakraborty8635 Před 3 lety +3

    This is the third succesful classic algorithm I learnt from you. Absolutely love your way of teaching ^_^

  • @MuhammadFarooq-wi7vl
    @MuhammadFarooq-wi7vl Před 4 lety +1

    Such a simpler and great explaination....and u are not yelling man😆....thanks it was very helpful...👍

  • @lomeshdaheria9960
    @lomeshdaheria9960 Před 3 lety +1

    Can someone tell me where is the code I can't find it in the description

    • @BackToBackSWE
      @BackToBackSWE  Před 3 lety

      The repository is deprecated - we only maintain backtobackswe.com now.

  • @practice8844
    @practice8844 Před 3 lety +1

    your explanation is best ,best teacher ever

  • @JH-dg9kl
    @JH-dg9kl Před 4 lety +1

    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.

  • @yashmistry61
    @yashmistry61 Před 4 lety +2

    Thank you guys this video helped me in my assignment
    Thank you again
    Where are you from guys?

  • @farahalaa2362
    @farahalaa2362 Před 4 lety +1

    Hello, why filling in empty spaces is row by row ?

  • @salmankhurshid4410
    @salmankhurshid4410 Před 3 lety +1

    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  Před 3 lety

      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.

  • @cleolin5679
    @cleolin5679 Před 3 lety

    Where can I find the code?

  • @subratrai1146
    @subratrai1146 Před 3 lety +1

    love you man!!

  • @masc0648
    @masc0648 Před 2 lety

    Can some one point we to the link of the code ?

  • @ASASAN
    @ASASAN Před 5 lety +3

    1:04 Double "Our Choice" on screen ? :))

  • @VinaySachdevaK-EE-
    @VinaySachdevaK-EE- Před 4 lety +4

    Great Video,
    Was just wondering where is the code...

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      thanks and the repository is deprecated - we only maintain backtobackswe.com now.

  • @andresabello5639
    @andresabello5639 Před 2 lety

    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  Před 2 lety

      Thank you, glad you liked it 😀
      Do check out backtobackswe.com/platform/content
      and please recommend us to your family and friends 😀

  • @charlesliu1439
    @charlesliu1439 Před 2 lety

    Very clear.

  • @Neo_Nkosi
    @Neo_Nkosi Před 2 lety

    I can't see the coded solution in your description😢

  • @eltonli8458
    @eltonli8458 Před rokem

    Great! Thank you!

  • @MegaWindow8
    @MegaWindow8 Před 3 lety

    Code in the description?

  • @rathan235
    @rathan235 Před rokem +2

    Good job, but where's the code?

  • @azadalishah2966
    @azadalishah2966 Před 4 lety +1

    Where is the code link? I don’t see in description

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      Hi, the repository is deprecated - we only maintain backtobackswe.com now

  • @vanyastaleva415
    @vanyastaleva415 Před 4 lety +12

    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  Před 4 lety +2

      The repository is deprecated - we only maintain backtobackswe.com now.

    • @SunFoxPL1
      @SunFoxPL1 Před 4 lety +13

      @@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 Před 4 lety +9

      @@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 Před 4 lety +3

      @@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 Před 4 lety +3

      github.com/bephrem1/backtobackswe/blob/master/Dynamic%20Programming%2C%20Recursion%2C%20%26%20Backtracking/SudokuSolver/SudokuSolver.java

  • @abhyasood4198
    @abhyasood4198 Před 3 lety +2

    absolutely love the way you explain everything... has helped me a lot.

  • @rishabkumar4940
    @rishabkumar4940 Před 3 lety +1

    Man you are amazing!!

  • @joshstafford9353
    @joshstafford9353 Před 4 lety +15

    When did you actually explain backtracking though...

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      dont remeber this vid

    • @sharpnova2
      @sharpnova2 Před 3 lety +7

      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

  • @NeerajSharma-oz1mm
    @NeerajSharma-oz1mm Před 3 lety +1

    Bro..
    Please be loud
    Excited teacher is effective teacher. :)

  • @kaushiquedhrubo908
    @kaushiquedhrubo908 Před 4 lety +5

    how do you learn all these difficult algos for yourself.....

  • @interviewprep6259
    @interviewprep6259 Před 4 lety +1

    This is brilliant. Thank you!

  • @yicai7
    @yicai7 Před 3 lety

    Feel like a backtracking pro

  • @tomeve4823
    @tomeve4823 Před 4 lety +1

    Sorry i cant find your code could u give me the link to the code please?thank you !

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated - we only maintain backtobackswe.com now.

    • @sharpnova2
      @sharpnova2 Před 3 lety +1

      @@BackToBackSWE fuck you.

  • @jayavardhan430
    @jayavardhan430 Před 3 lety

    Excuse me anyone please tell me where is the code

  • @dbldzo
    @dbldzo Před 4 lety +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  Před 4 lety +1

      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 Před 2 lety

      @@BackToBackSWE It would be helpful if you put note about the deprecated repo in the description. But thanks for the video though 👌🏾

  • @chetthejet3896
    @chetthejet3896 Před 4 lety +1

    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  Před 4 lety +1

      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 Před 4 lety +1

      ​@@BackToBackSWE Thank you Bro. I figured you would give me a good answer.

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      @@chetthejet3896 lol, I try

  • @hakoHiyo271
    @hakoHiyo271 Před 3 lety

    I was interested in hearing about backtracking part which is not there in this video.

  • @karljay7473
    @karljay7473 Před 4 lety +1

    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  Před 4 lety

      The backtracking does that right? Makes a choice, goes deep into it, comes back if infeasible.

    • @karljay7473
      @karljay7473 Před 4 lety

      @@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.

  • @kristianusifoh9307
    @kristianusifoh9307 Před 4 lety +1

    Hey bro thank you for your video. I couldn't get the code to look at how it was implemented

  • @user-sm1xs2ww9m
    @user-sm1xs2ww9m Před 6 měsíci

    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

  • @mohamedarshathn7768
    @mohamedarshathn7768 Před 5 lety +2

    Thanks for leetcode discuss 😇. Finally, found a great channel.

  • @adamr-personal8035
    @adamr-personal8035 Před 4 lety +1

    Is this solution supposed to be working for any Sudoku Grid?

    • @adamr-personal8035
      @adamr-personal8035 Před 4 lety +2

      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  Před 4 lety

      Yes, it can easily be generalized to any Sudoku grid (forgot the exact dimensions though).

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      Nice, sure no problem.

  • @xxbighotshotxx
    @xxbighotshotxx Před 5 lety +1

    Awesome explanation. Backtracking makes sense now. Thank you

  • @willturner3440
    @willturner3440 Před 3 lety +1

    I am addicted to your teaching style, I can watch your lecture whole day 😄

  • @navyananjala5012
    @navyananjala5012 Před 5 lety +1

    Can u have a code for tentaizu game

  • @bru9jat
    @bru9jat Před 4 lety +1

    Where is the link to the code?

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The respository is deprecated - we only maintain backtobackswe.com

  • @lomeshdaheria9960
    @lomeshdaheria9960 Před 3 lety +1

    Thank you 😊😊😊 ben

  • @ayyubshaffy3612
    @ayyubshaffy3612 Před 4 lety +4

    yo I dont see the code in the description
    anyways nice video :)

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated - we only maintain backtobackswe.com now. and thx

    • @aiman1562
      @aiman1562 Před 4 lety +2

      @@BackToBackSWE how can i get the code if that's possible?

  • @navyananjala5012
    @navyananjala5012 Před 5 lety +1

    Can u have a code for tenutio game

  • @kvantro7909
    @kvantro7909 Před 3 lety

    I can't find the codeee

  • @yashsrivastava9541
    @yashsrivastava9541 Před 4 lety +1

    I could not find the code.please help

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      THe repository is deprecated but stil on my gituhb

  • @venvanman
    @venvanman Před rokem

    co-pilot sent me here for some reason lmaoooo

  • @Official_Southpaw
    @Official_Southpaw Před 5 lety +1

    Can you be my Algorithms professor? Lol great video! I can get my assignment done and sleep now.

    • @BackToBackSWE
      @BackToBackSWE  Před 5 lety +4

      I would be a professor if I had the interest but I think in this lifetime I probably won't be one.

  • @bishwhat6554
    @bishwhat6554 Před 5 lety +5

    why am i watching this im still doing intro c++ lol

    • @BackToBackSWE
      @BackToBackSWE  Před 5 lety +1

      hahahahahahahaha no idea

    • @bishwhat6554
      @bishwhat6554 Před 5 lety +1

      @@BackToBackSWE if you had to guess, what year of computing science is this?

    • @BackToBackSWE
      @BackToBackSWE  Před 5 lety +4

      @@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.

  • @littlboz
    @littlboz Před 5 lety +1

    This video is much better. I like the toned down style. Good job.

  • @sophiehall38
    @sophiehall38 Před 5 lety +1

    I don't think you are yelling either. Good job

  • @Brooklyn11236
    @Brooklyn11236 Před 3 lety

    where's the code?

  • @sakshigupta9111
    @sakshigupta9111 Před 4 lety +1

    where is the code for this problem??

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated - we only maintain backtobackswe.com now

    • @prinzuchoudhury6920
      @prinzuchoudhury6920 Před 4 lety

      github.com/bephrem1/backtobackswe/blob/master/Dynamic%20Programming%2C%20Recursion%2C%20%26%20Backtracking/SudokuSolver/SudokuSolver.java

  • @caretakerrandom8818
    @caretakerrandom8818 Před 4 lety +2

    where is the code??????????

  • @anapaunovic8405
    @anapaunovic8405 Před rokem

    Where is the code in the description?

  • @ranajitmukherjee9789
    @ranajitmukherjee9789 Před 3 lety +1

    Can u please provide the code?

    • @BackToBackSWE
      @BackToBackSWE  Před 3 lety +1

      The repository is deprecated - we only maintain backtobackswe.com now.

  • @shariefyassin6419
    @shariefyassin6419 Před rokem

    Where i find the code ??

    • @BackToBackSWE
      @BackToBackSWE  Před rokem

      All the codes are available here - backtobackswe.com/ 🎉

  • @devalmodi5350
    @devalmodi5350 Před 4 lety +1

    where is the code?

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety +1

      The repository is deprecated, it is on my github but no longer maintained

  • @vaishnavism5110
    @vaishnavism5110 Před 4 lety +1

    um hey where is the code??

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated - we only maintain backtobackswe.com now.

  • @SC2BuildOrder
    @SC2BuildOrder Před 4 lety +10

    i love this man so goddamn much holy shit

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety +3

      no u

    • @sharpnova2
      @sharpnova2 Před 3 lety +2

      why? he left out the most important part of the algorithm and then pulled the code. he's trash.

  • @tejenderjeetsohi2128
    @tejenderjeetsohi2128 Před 4 lety +1

    Where is the code?

    • @BackToBackSWE
      @BackToBackSWE  Před 4 lety

      The repository is deprecated - we only maintain backtobackswe.com