L15. Sudoko Solver | Backtracking

Sdílet
Vložit
  • čas přidán 11. 05. 2021
  • Check our Website:
    In case you are thinking to buy courses, please check below:
    Link to get 20% additional Discount at Coding Ninjas: bit.ly/3wE5aHx
    Code "takeuforward" for 15% off at GFG: practice.geeksforgeeks.org/co...
    Code "takeuforward" for 20% off on sys-design: get.interviewready.io?_aff=takeuforward
    Crypto, I use the Wazirx app: wazirx.com/invite/xexnpc4u
    Take 750 rs free Amazon Stock from me: indmoney.onelink.me/RmHC/idje...
    Earn 100 rs by making a Grow Account for investing: app.groww.in/v3cO/8hu879t0
    Linkedin/Instagram/Telegram: linktr.ee/takeUforward
    ---------------------------------------------------------------------------------------------------------------------------------------------------- Pre-Requisites: Recursion Playlist Videos,
    ✅Coding Ninjas Discount Link: aff.codingninjas.com/click?o=...
    Please Please SUBSKRIIIBEEEEE the new channel: / @striver_79
    Problem Link: leetcode.com/problems/sudoku-...
    C++/Java Code Efficient: takeuforward.org/data-structu...
    ---------------------------------------------------------------------------------------------------------------------------
    ✅This is where I teach: ----- Use coupon-code "TAKEUFORWARD" for getting 10% on my course at GFG: bit.ly/striver_cpCourse​
    ✅Use coupon-code "TAKEUFORWARD" for getting 10% for all GFG courses: bit.ly/tuf_gfgCourse​
    ---------------------------------------------------------------------------------------------------------------------------
    If you appreciate the channel's work, you can join the family: bit.ly/joinFamily​
    ✅Thumbnail Creator: / rikonakhuli
    ✅ Striver's Linkedin Profile: / ​
    ✅ Instagram: / ​
    ✅Connect with us: bit.ly/tuftelegram​ (Use Link in Mobile only, if not works search "takeUforward" in telegram)..
    #dsa​ #striver #placements

Komentáře • 309

  • @takeUforward
    @takeUforward  Před 3 lety +56

    Instagram for live updates about channel and live sessions: striver_79

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

      Bhaiya you are just a mastermind not only by your skills but you know the every bit of doubts that arise in a student's mind.
      Hats off to your explanation skills. 🔥🔥🔥❤️

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

      Wo sare sudoku boards bharte bharte dimag kharab ho gaya hoga XD

    • @democratcobra
      @democratcobra Před 2 lety +2

      You are doing one revolutionary work. Word will change and remember your contribution.

    • @parthsalat
      @parthsalat Před 2 lety +2

      @@democratcobra Er....Which *word* will change?

    • @aeroabrar_31
      @aeroabrar_31 Před rokem +1

      Lol ! Am i the only one who learnt sudoku games just to solve this problem. 😂

  • @bhargav1811
    @bhargav1811 Před rokem +32

    Those who can't understand the logic for subgrid part of sudoku can think of like -
    There are 3 sized rows and columns so we have to do row/3 and column/3 to get what specific subgrid we are in !!! But this will not be enough as we have to traverse whole subgrid also, so we have to add various coordinates like -
    offset is nothing but first element of subgrid
    offset(which we can get by row//3 and col//3)
    + for each of given below
    (0,0) (0,1),(0,2),
    (1,0) (1,1),(1,2),
    (2,0) (2,1),(2,2)
    offset + (0,0)
    offset + (0,1)
    offset + (0,2)
    offset + (1,0)
    offset + (1,1)
    offset + (1,2)
    offset + (2,0)
    offset + (2,1)
    offset + (2,2)
    For example if we talk about what striver talks about at 19:24 (5,7) position
    we can get subgrid offset by
    row offset = 5//3 ==>1
    col offset = 7//3 ==> 2
    which is second rowth and third column subgrid -
    | 0,0 | 0,1 | 0,2 |
    | 1,0 | 1,1 | 1,2 |
    | 2,0 | 2,1 | 2,2 |
    The above is all 9 subgrid of sudoku
    Again back with example we get 1,2 grid and now we have to add all coordinates to traverse that block
    like
    (0,0) (0,1),(0,2),
    (1,0) (1,1),(1,2),
    (2,0) (2,1),(2,2)
    for x= 0,0,0,1,1,1,2,2,2 ( extracting all x of above )
    for y = 0,1,2,0,1,2,0,1,2 (extracting all y of above )
    so basically x = i//3
    and y = i%3 for i ranging from 0 to 9
    so finally formula is
    for i=0 to 9-
    row = 3 * (x//3) + i//3 ==> (offset + 0,0,0,1,1,1,2,2,2 )
    col = 3*(y//3) + i % 3 ==> (offset + 0,1,2,0,1,2,0,1,2 )

    • @ankitpradhan2499
      @ankitpradhan2499 Před měsícem

      from where can i get the same deciphering technique ?? some resources ?

  • @studyonline3236
    @studyonline3236 Před rokem +30

    My suggestion would be to pass on the row number along with the board to solve function, because say you're calling solve(board) [recent insertion done at 6,7], the function again starts from the start(0) row to find an empty cell, but if you'd passed solve(board,row=6) the search starts from the same row as you're sure that there wouldn't be any free cells left in prior rows.

    • @akku5529
      @akku5529 Před rokem +2

      Yes definitely, It will save the iteration of the rows where values are already set. Now you just need to switch to the next row for which you will simply increment the value of row in the function call. I have applied this method, Below the python Implementation of the problem:
      class Solution:
      def isValid(self,board,row,col,val):
      for i in range(9):
      if (board[row][i] == val):
      return False
      if (board[i][col] == val):
      return False
      if(board[3*(row//3)+(i//3)][3*(col//3)+(i%3)] == val):
      return False
      return True
      def solve(self,board,row):
      if (row == 9):return True
      for col in range(9):
      if(board[row][col] == '.'):
      for val in map(str,range(1,10)):
      if self.isValid(board,row,col,val):
      board[row][col] = val
      if self.solve(board,row):
      return True
      else:
      board[row][col] = "."
      return False
      return self.solve(board,row+1)




      def solveSudoku(self, board: List[List[str]]) -> None:
      """
      Do not return anything, modify board in-place instead.
      """
      self.solve(board,0)

    • @sudhirdharmadhikari1938
      @sudhirdharmadhikari1938 Před rokem +1

      Very true. That is an important point

    • @user-lw4vr8oo4x
      @user-lw4vr8oo4x Před rokem +6

      It would have mattered more if number of rows/columns was huge. In this question, we only have to do it for 9, so won't really make more than a very very slight difference at all.

    • @parthhh3589
      @parthhh3589 Před 7 měsíci

      yes@@user-lw4vr8oo4x

  • @satyamsrivastava.
    @satyamsrivastava. Před 3 lety +24

    I heard u many times saying u r bad at drawing bt this suduko board is literally very artistic

  • @Abhishek-yy3xg
    @Abhishek-yy3xg Před 3 lety +42

    Yesterday I was trying to understand Sudoku for this problem. And here you come with perfect explanation. Thank you 🙂

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

      what is the TC for this ques ? please explain , please help me , thanks..

    • @TonyStark-ct8xd
      @TonyStark-ct8xd Před 2 lety +2

      @@freshcontent3729 for each empty box, we have 9 choices (1-9), therefore maximum tc is 9^N*N, where N is dimension of grid.

  • @sanketatmaram
    @sanketatmaram Před rokem +14

    Best Explanation and consistent logic over all recursion backtracking question in the series. Great work

  • @swordofgrayskull1530
    @swordofgrayskull1530 Před 3 lety +110

    Hey King take this 👑, it belongs to you now.

  • @shastriamisha
    @shastriamisha Před 2 lety +7

    The best explanation on YT for this problem. I can never forget the logic ever :) Thank you

  • @TheAditya-zt9pb
    @TheAditya-zt9pb Před měsícem

    I was initially stucked at the place where we have to check whether the sub-matrix is filled from 1-9 or not but the way you have explained it by diving the rows and colums by 3 and adding them to check the all the numbers made me Mind blown ..this is the far best Explanation ,loved it

  • @shiwamsinha7076
    @shiwamsinha7076 Před 2 lety +7

    thanks a lot, sir for boosting my confidence that i can do programming by just applying common sense

  • @kirannagulakonda3443
    @kirannagulakonda3443 Před rokem +19

    Really appreciate your efforts brother, took time but really happy to solve the question just by watching intuition.

    • @shaleen9434
      @shaleen9434 Před rokem

      I am getting this error when i am submitting my soln in leetcode
      can anyone please help?
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==30==ERROR: AddressSanitizer: stack-overflow on address 0x7ffef164fff8 (pc 0x000000345d18 bp 0x7ffef1650010 sp 0x7ffef1650000 T0)
      ==30==ABORTING

  • @RonitChattopadhyay
    @RonitChattopadhyay Před 3 lety +14

    Appreciate the effort that you have put to explain this problem.

  • @suyashmishra6946
    @suyashmishra6946 Před 11 měsíci +2

    Hella understood man. Ig the most tricky part of this question was to check for 3*3 matrix, that you explained really well.

  • @ayanSaha13291
    @ayanSaha13291 Před 2 měsíci

    bro, I salute your patience! I never have seen such an explanation for the problem! Thanks a lot.

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

    N queens problem and sudoku solve were not as easy as it seems now after going through your videos. Best thing I have found on CZcams. Thanks a lot for making such complex things easier to understand.

  • @nitunsingh6986
    @nitunsingh6986 Před 2 lety +2

    Superb Explanation Bhaiya . I know how much efforts u put to come with a beautiful content .Hats off for u

  • @zaidmujahid3885
    @zaidmujahid3885 Před 2 lety +2

    Best explanation for sudoku solver on CZcams 💯

  • @sunnykumarpal9679
    @sunnykumarpal9679 Před rokem +1

    Bhaiya before I was feeling recursion a tough topic but seeing your video now i am enjoying doing recursion thanks lot bahiya for providing such contents.

  • @nareshe2383
    @nareshe2383 Před 2 lety +8

    Great work, We can also solve this problem with out nested loops by passing row number as parameters to reduce the complexity.

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

      No for iterations it's not possible

    • @nasim3987
      @nasim3987 Před 3 měsíci

      @@ka_ka3141it is possible python code:class Solution:
      def isValid(self,k,r,c,board):
      for i in range(9):
      if board[i][c]==k:
      return False
      if board[r][i]==k:
      return False
      if board[3*(r//3)+i//3][3*(c//3)+i%3]==k:
      return False
      return True

      def func(self,board,r):
      for i in range(r,9):
      for j in range(9):
      if board[i][j]=='.':
      for k in "123456789":
      if self.isValid(k,i,j,board):
      board[i][j]=k
      if self.func(board,i):
      return True
      else:
      board[i][j]='.'
      return False
      return True
      def solveSudoku(self, board: List[List[str]]) -> None:
      self.func(board,0)

  • @samsmith3961
    @samsmith3961 Před rokem +28

    the shear amount of effort that must have gone while making this video is certainly commendable... some of the best DSA channel for a reason... gg @takeUforward

  • @unibrow9384
    @unibrow9384 Před 2 lety +2

    Thanks a lot, haven't seen anyone explain so well and in such detail ! ^_^

  • @SahilSharma-vl9rk
    @SahilSharma-vl9rk Před 2 lety +3

    Woah thanks for this bro :)
    I literally never understood this problem and finally after watching your video I understood it completely.

  • @kashishshukla23
    @kashishshukla23 Před 2 lety +6

    Great explanation!! Really appreciate your efforts

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

    Great explanation!.Thank you. Can you also please make a video on this backtracking leetcode question? "1240. Tiling a Rectangle with the Fewest Squares"

  • @cinime
    @cinime Před rokem +2

    Understood! Super amazing explanation as always, thank you very much!!

  • @kalidass6531
    @kalidass6531 Před 3 lety

    Thank you for this wonderful explanation!.

  • @Tomharry910
    @Tomharry910 Před rokem

    Brilliant explaination. Great video. Thank you!

  • @amanbhadani8840
    @amanbhadani8840 Před 2 lety

    Your videos made questions like this too much easier.

  • @trooperzooper6092
    @trooperzooper6092 Před 9 měsíci

    Like I've seen Some other videos of Sudoku solver, and they all just used that formula, and said you can use this, but striver you really helped me understand the formula, And I just wanted to say Thank you!

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

    Bhaiya I just love your videos . I have been following u since many months . Can u make videos about different projects and what should we learn while we work on our Ds algo .

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

    Understood the concept. Thanks for putting this much effort.

  • @kritikatyagi4325
    @kritikatyagi4325 Před rokem +1

    What a simple solution to such a complex problem hats off to u sir

  • @prathamsagar5353
    @prathamsagar5353 Před rokem +1

    You are a true king in explaining logic!

  • @parthsalat
    @parthsalat Před 14 dny +1

    Note: We don't need to write "Else". This is because in the if condition, we are anyways "return"ing

  • @stith_pragya
    @stith_pragya Před 2 měsíci +1

    UNDERSTOOD.....Thank You So Much for this wonderful video........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @debasishphukon5345
    @debasishphukon5345 Před rokem +7

    Great Explanation as always!
    In the formula to check for the subgrid, I was thinking (3*(row/3) + i/3) can be simplified to (row + i/3), but then i figured we cant do this becuase the (row/3) operation will take the floor value.
    for e.g.
    if row = 5
    row/3 = 5/3 = 1
    so now, 3 * (row/3) = 3
    But if we directly take row it will be 5 which is wrong!

    • @shaleen9434
      @shaleen9434 Před rokem

      I am getting this error when i am submitting my soln in leetcode
      can anyone please help?
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==30==ERROR: AddressSanitizer: stack-overflow on address 0x7ffef164fff8 (pc 0x000000345d18 bp 0x7ffef1650010 sp 0x7ffef1650000 T0)
      ==30==ABORTING

    • @mechros4460
      @mechros4460 Před rokem

      good note. I was thinking about this as well. Thanks for clearing it up.

  • @parambharti7095
    @parambharti7095 Před rokem +3

    Great effort. Very informative. Thanks @Striver.

  • @fahmidayasmin4923
    @fahmidayasmin4923 Před 16 dny

    The BEST video on this topic in youtube...Thank you!

  • @jatinkumar4410
    @jatinkumar4410 Před rokem +2

    Great explanation as always. Can you please explain its time and space complexity...

  • @studynewthings1727
    @studynewthings1727 Před 9 měsíci

    I understood very well, Thankyou for good explanation.

  • @philosphize
    @philosphize Před rokem

    Thank you so much for the explanation
    Learnt alot

  • @yashwantlalwani
    @yashwantlalwani Před rokem +1

    amazing, really great explanation.

  • @sanchitakasat
    @sanchitakasat Před 2 lety

    Amazing explaination!!

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

    The best explanation on YT for this problem

  • @satendra6200
    @satendra6200 Před 10 měsíci +2

    There are 6,670,903,752,021,072,936,960 possible solvable Sudoku 😅 grids that yield a unique result (that's 6 sextillion, 670 quintillion, 903 quadrillion, 752 trillion, 21 billion, 72 million, 936 thousand, 960 in case you were wondering). That's way more than the number of stars in the universe

  • @shrikkanthsuresh8971
    @shrikkanthsuresh8971 Před rokem

    Into my list of greatest tutors.

  • @ramakrishnakcr4417
    @ramakrishnakcr4417 Před 4 měsíci

    thank you🙏 for your work, if we send row number in every recursion that will improve the code execution time further

  • @cartidise
    @cartidise Před 11 měsíci

    Beautifully explained!

  • @itz_me_imraan02
    @itz_me_imraan02 Před 2 lety

    Crystal clear explanation as 🙏

  • @riteshadwani9084
    @riteshadwani9084 Před rokem

    This guy makes it so easy!

  • @ritikashishodia675
    @ritikashishodia675 Před 2 lety

    Bhaiya ap great ho..... #below tier3 ki inspiration ho ap.....

  • @chinmaykulkarni8062
    @chinmaykulkarni8062 Před rokem

    WHT A EXPLANATION !!!!
    Killed it.....

  • @skilz9525
    @skilz9525 Před rokem

    for the 3x3 box checking I am still preferring the nested for loop rather than that formula, I know its not efficient but common we only have 9 values to check, so don't think it will make significant difference in runtime

  • @sumitmaurya4032
    @sumitmaurya4032 Před 2 lety

    really you made it very simeple.. Thanks for this video

  • @nopecharon
    @nopecharon Před 2 lety +2

    Just a beautiful explanation. You are legend striver

    • @shaleen9434
      @shaleen9434 Před rokem

      I am getting this error when i am submitting my soln in leetcode
      can anyone please help?
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==30==ERROR: AddressSanitizer: stack-overflow on address 0x7ffef164fff8 (pc 0x000000345d18 bp 0x7ffef1650010 sp 0x7ffef1650000 T0)
      ==30==ABORTING

  • @shubhambhardwaj8894
    @shubhambhardwaj8894 Před 3 lety +16

    Thank you so much brother, please complete the sde sheet 🙏

  • @yogeshagarwal8537
    @yogeshagarwal8537 Před 2 lety +18

    If you know how to solve sudoku, you can start from 4:00

  • @SuvradipDasPhotographyOfficial

    Exceptional explanation, Thanks a lot striver

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

    Striver, I am supremely grateful for your content. You're the best! Btw, a given Sudoku puzzle can have only one valid solution unlike what you said at 12:23. But again this video is great just like all your other videos. You are the best!!! I have immense gratitude for your efforts.

    • @asutoshghanto3419
      @asutoshghanto3419 Před 2 lety

      no ,it can have many as well but It is a bad puzzle.

    • @bhaveshkumar6842
      @bhaveshkumar6842 Před 2 lety

      @@asutoshghanto3419 Yes, your point is valid but I was talking about a valid Sudoku puzzle

    • @shaleen9434
      @shaleen9434 Před rokem

      I am getting this error when i am submitting my soln in leetcode
      can anyone please help?
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==30==ERROR: AddressSanitizer: stack-overflow on address 0x7ffef164fff8 (pc 0x000000345d18 bp 0x7ffef1650010 sp 0x7ffef1650000 T0)
      ==30==ABORTING

  • @adityan5302
    @adityan5302 Před 2 lety +8

    The above solution Time complexity is about N**2 * 9**(n*n)
    Python solution : O(N) : 9**(n*n)
    See only if you find difficulty in building the code
    m, n = 9, 9
    res = []
    def possible(x, y, c):
    x, y = int(x), int(y)
    for i in range(9):
    if arr[i][y] == c: return False
    if arr[x][i] == c: return False
    if arr[3*(x//3) + i//3][3*(y//3) + i%3] == c: return False
    return True
    def solve(row, col):
    if row == n: return True
    if col == n: return solve(row+1, 0)
    if arr[row][col] == ".":
    for i in range(1, 10):
    if possible(row, col, str(i)):
    arr[row][col] = str(i)
    if solve(row, col + 1):
    return True
    else:
    arr[row][col] = "."
    return False
    else: return solve(row, col + 1)

    solve(0, 0)

  • @harshal07051995
    @harshal07051995 Před 2 lety

    Thank you very nicely explained

  • @hrushikeshkale68
    @hrushikeshkale68 Před 3 lety +9

    Hey striver I have a question.
    In a book I read that by studying a topic with a gap makes it stick better in brain ex- Studying Graph today and taking a gap of 2 days and again studying graph.
    Should I follow it or just take a topic and continue everyday on same topic

    • @ishaanarora3279
      @ishaanarora3279 Před 3 lety +9

      yes it definitely happens. For example in my case I take 1 month gap and after again revising the topic I find them easy to code and I feel my thinking skills gets better for that topic after taking that break

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

      It does.

  • @AnandBaburajan
    @AnandBaburajan Před 2 lety

    Thank you!

  • @sushantgupta4757
    @sushantgupta4757 Před 2 lety

    thank you so much bhaiya you made so many things in easy way

  • @krribss
    @krribss Před rokem +2

    Great explanation! but it will only work for board size 9. A separate loop on ' board[3*(row/3) +i/3][3*(col/3) +i%3]==c ' can make it generic for all board size.
    Python Code:
    class Solution:
    def solveSudoku(self, board: List[List[str]]) -> None:
    N=len(board)
    for row in range(N):
    for col in range(N):
    if board[row][col]==".":
    for num in range(1,N+1):
    if(self.isValid(num,row,col,board,N)):
    board[row][col]=str(num)
    if(self.solveSudoku(board)):
    return True
    else:
    board[row][col]="."
    return False
    return True
    def isValid(self,num,row,col,board,N):
    for i in range(N):
    if str(num) == board[row][i]: return False
    if str(num) == board[i][col]: return False
    for i in range(9):
    if str(num) == board[3*(row//3) +i//3][3*(col//3) +i%3]: return False
    return True

    • @anushkachakraborty8635
      @anushkachakraborty8635 Před rokem

      I really liked this approach. I was thinking how many N can we logically use? i think just 2(4*4 suduko),4(16*16 suduko) because total possible squares and time complexity will not support much beyond that without really intense computational powers.

  • @vinothborn2win
    @vinothborn2win Před 2 lety +7

    Getting timeout when board.size() & board[0].size() are replaced with 9. I thought it will be faster with hardcoded 9. Any idea why is it timing out with hardcoded value? Isn't it supposed to be faster with hardcoded value? Board length is given as 9 in constraints board.length == 9. BTW, amazing explanation.

    • @atjhamit
      @atjhamit Před 2 lety

      paste your solution here, and then we can discuss
      maybe instead of < 9 you may be doing

    • @VinayKumar-ze2ww
      @VinayKumar-ze2ww Před rokem

      Mine worked properly

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

    thank you so much bhaiya. :)

  • @LearningYouth
    @LearningYouth Před rokem

    Nice explanation. Thanks
    However I looped through the 3x3 matrix and checked the row and column using another variable. I think the time complexity is still same as I'm only looping 9 times.
    here is the code:
    bool isSafe(int r, int c, int val, int grid[n][n])
    {
    int idx = 0;
    int row = 3 * (r/3);
    int col = 3 * (c/3);
    for(int i = 0; i < 3; i++)
    {
    for(int j = 0; j < 3; j++)
    {
    if(grid[idx][c] == val) return false;
    if(grid[r][idx] == val) return false;
    if(grid[row+i][col+j] == val) return false;
    idx++;
    }
    }
    return true;
    }

  • @SamPrakashM
    @SamPrakashM Před 5 měsíci

    Thank you for the wonderful solution keep doing sir

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

    If anyone's looking for [ python ] solution, then here it is
    class Solution:

    def solveSudoku(self, board: List[List[str]]) -> None:
    self.solve(board)

    def solve(self,board):

    for i in range(9):
    for j in range(9):

    if board[i][j]=='.':

    for c in range(1,10):

    if self.checkvalid(board,i,j,str(c))==True:
    board[i][j]=str(c)

    if self.solve(board)==True:
    return True
    else:
    board[i][j]='.'

    return False

    return True

    def checkvalid(self,board,row,column,c):

    for i in range(9):
    if board[i][column]==c:
    return False
    if board[row][i]==c:
    return False
    if board[3*(row//3)+i//3][3*(column//3)+i%3]==c:
    return False
    return True

  • @yativishnoi5110
    @yativishnoi5110 Před rokem

    Well explained!!

  • @sbagul2
    @sbagul2 Před rokem

    iterating through 3x3 matrix was awesome

  • @abhigyansharma9108
    @abhigyansharma9108 Před 2 lety +2

    Aaapki videos dekhkr smjh aajata hai par 5-10 din baad lagao to phir bhoole bhatke se lgte hai Sir iska bataiye kuch.. Aise to kitne swaaal kitni baari practse krenge ...Bhaiya please any suggestion this is happening with me all a bit difficult ques which i wasn't able to solve myself did by watchng your video.. Like for exampple I did Flatteing question of LL .. I can't solve now w/o any help but at that time when i didi by learning from it stood like its cleared .. i have learned.. PLS REPLYYYYY SIRR

  • @its_neel_ok
    @its_neel_ok Před rokem

    so basically rec for (1 to 9)
    check1 , check2 , check3 (for 3 different check function) if yes go with the recursion else i+1

  • @feliwx4087
    @feliwx4087 Před 7 měsíci +1

    Awesomeee!!

  • @adityan5302
    @adityan5302 Před 2 lety

    GREAT EXPLANATION :::::)))))

  • @harshith6245
    @harshith6245 Před 2 lety

    Can we pass the indices row and col with matrix in solve() so that we check only the dots next to it?

  • @mrpi230
    @mrpi230 Před 2 lety

    Great explanation Thank You😀

    • @shaleen9434
      @shaleen9434 Před rokem

      I am getting this error when i am submitting my soln in leetcode
      can anyone please help?
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==30==ERROR: AddressSanitizer: stack-overflow on address 0x7ffef164fff8 (pc 0x000000345d18 bp 0x7ffef1650010 sp 0x7ffef1650000 T0)
      ==30==ABORTING

  • @shivalikagupta3433
    @shivalikagupta3433 Před 2 lety

    Thank you sooo mcuh :)))) Awesome :}}

  • @VishalGupta-xw2rp
    @VishalGupta-xw2rp Před rokem

    Bhaiiii sahabbb vo Box ka idea toh matlab bilkul *Kamal* tha bhai..... I'm just like you not only achieved your dream but helping others also to achieve theirs.
    *We must protect you at all cost brother*
    Such amazing explanation... Thankyou so much 🙏🙏🙏
    You are indeed a blessing for us man

  • @ronaksiddhpura07
    @ronaksiddhpura07 Před 11 měsíci

    @striver best explaination in easy manner

  • @DhruvSharma-mh5vf
    @DhruvSharma-mh5vf Před 2 lety

    Very well explained sir

  • @vankshubansal6495
    @vankshubansal6495 Před 3 lety

    We can also use space to avoid the check right?

  • @anushkathakur6531
    @anushkathakur6531 Před rokem

    Could you please tell the time and space complexities of both the approaches?

  • @anmolverma075
    @anmolverma075 Před rokem

    Bhaiya ji , OP explnation!

  • @biikaaa.6540
    @biikaaa.6540 Před 2 lety

    This is what i needed

  • @devbhattacharya153
    @devbhattacharya153 Před 2 lety

    Thanks a lot striver :)

  • @Jainam-17-18
    @Jainam-17-18 Před rokem

    Can we optimize using a hashmap for row, col and box?

  • @user-fl1km1jq1d
    @user-fl1km1jq1d Před 9 měsíci

    Awesome explanation

  • @sbarbeloa
    @sbarbeloa Před 3 lety

    thank you so much

    • @freshcontent3729
      @freshcontent3729 Před 3 lety

      what is the TC for this ques ? please explain , please help me , thanks..

  • @abdussamad0348
    @abdussamad0348 Před rokem

    Bhaishbbb "itna dimaag kaha se laate ho", Amazing approach and wo matrix check to bs gazab hi he . Lg rha he service se product switch ho jayega.

  • @srivastavkumar5497
    @srivastavkumar5497 Před rokem

    Great explanation

  • @VinayKumarcs127
    @VinayKumarcs127 Před rokem

    Genius!!

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

    bro please jaldi jaldi upload karo btw great help

  • @mriduljain1981
    @mriduljain1981 Před rokem

    this guy is godddddd hatss off man

  • @your_name96
    @your_name96 Před 2 lety

    can the formula be generalised for any n x m matrix ? or is it valid for square matrices only? According to my calculation for n x m smaller square, for an index [row][col] , for the boxes it should be [k1 + row/m][k2 + col%n] and k1 = n * (row/n) and k2 =m*(col/m) idk .......

    • @shaleen9434
      @shaleen9434 Před rokem

      I am getting this error when i am submitting my soln in leetcode
      can anyone please help?
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==30==ERROR: AddressSanitizer: stack-overflow on address 0x7ffef164fff8 (pc 0x000000345d18 bp 0x7ffef1650010 sp 0x7ffef1650000 T0)
      ==30==ABORTING

  • @sindhusiva4580
    @sindhusiva4580 Před 2 lety

    can anyoe please tell me...we have to write void function..but we are using boolean .. why we are considering return values??

  • @UttkarshJainmeb
    @UttkarshJainmeb Před rokem

    one doubt i dont understand why cant we use three for loops to find the validity every for loop will do 9 checks and in total 27 checks , here your for loop is doing 3 checks at one iterations so it will also do 27 checks , so can u tell what am i missing here

  • @SatyamKumar-bw4vi
    @SatyamKumar-bw4vi Před 2 lety

    Hare Krishna! Great🙏🙏

  • @keertilata20
    @keertilata20 Před 2 lety

    thank you :)