No video

L15. Sudoko Solver | Backtracking

  Рет қаралды 260,455

take U forward

take U forward

3 жыл бұрын

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.geeks...
Code "takeuforward" for 20% off on sys-design: get.interviewr...?_aff=takeuforward
Crypto, I use the Wazirx app: wazirx.com/inv...
Take 750 rs free Amazon Stock from me: indmoney.oneli...
Earn 100 rs by making a Grow Account for investing: app.groww.in/v...
Linkedin/Instagram/Telegram: linktr.ee/take...
---------------------------------------------------------------------------------------------------------------------------------------------------- Pre-Requisites: Recursion Playlist Videos,
✅Coding Ninjas Discount Link: aff.codingninj...
Please Please SUBSKRIIIBEEEEE the new channel: / @striver_79
Problem Link: leetcode.com/p...
C++/Java Code Efficient: takeuforward.o...
---------------------------------------------------------------------------------------------------------------------------
✅This is where I teach: ----- Use coupon-code "TAKEUFORWARD" for getting 10% on my course at GFG: bit.ly/striver_...
✅Use coupon-code "TAKEUFORWARD" for getting 10% for all GFG courses: bit.ly/tuf_gfgC...
---------------------------------------------------------------------------------------------------------------------------
If you appreciate the channel's work, you can join the family: bit.ly/joinFam...
✅Thumbnail Creator: / rikonakhuli
✅ Striver's Linkedin Profile: / ​
✅ Instagram: / ​
✅Connect with us: bit.ly/tufteleg... (Use Link in Mobile only, if not works search "takeUforward" in telegram)..
#dsa​ #striver #placements

Пікірлер: 320
@takeUforward
@takeUforward 3 жыл бұрын
Instagram for live updates about channel and live sessions: striver_79
@prithvijitbasak
@prithvijitbasak 3 жыл бұрын
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 3 жыл бұрын
Wo sare sudoku boards bharte bharte dimag kharab ho gaya hoga XD
@democratcobra
@democratcobra 2 жыл бұрын
You are doing one revolutionary work. Word will change and remember your contribution.
@parthsalat
@parthsalat 2 жыл бұрын
@@democratcobra Er....Which *word* will change?
@aeroabrar_31
@aeroabrar_31 Жыл бұрын
Lol ! Am i the only one who learnt sudoku games just to solve this problem. 😂
@bhargav1811
@bhargav1811 Жыл бұрын
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 2 ай бұрын
from where can i get the same deciphering technique ?? some resources ?
@debangshubanerjee1311
@debangshubanerjee1311 3 күн бұрын
good job, well explained.. intuition behing 3*offset?
@swordofgrayskull1530
@swordofgrayskull1530 3 жыл бұрын
Hey King take this 👑, it belongs to you now.
@satyamsrivastava.
@satyamsrivastava. 3 жыл бұрын
I heard u many times saying u r bad at drawing bt this suduko board is literally very artistic
@Abhishek-yy3xg
@Abhishek-yy3xg 3 жыл бұрын
Yesterday I was trying to understand Sudoku for this problem. And here you come with perfect explanation. Thank you 🙂
@freshcontent3729
@freshcontent3729 3 жыл бұрын
what is the TC for this ques ? please explain , please help me , thanks..
@TonyStark-ct8xd
@TonyStark-ct8xd 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.
@studyonline3236
@studyonline3236 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Very true. That is an important point
@chirags2711
@chirags2711 Жыл бұрын
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 9 ай бұрын
yes@@chirags2711
@sanketatmaram
@sanketatmaram 2 жыл бұрын
Best Explanation and consistent logic over all recursion backtracking question in the series. Great work
@TheAditya-zt9pb
@TheAditya-zt9pb 2 ай бұрын
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
@shastriamisha
@shastriamisha 2 жыл бұрын
The best explanation on YT for this problem. I can never forget the logic ever :) Thank you
@kirannagulakonda3443
@kirannagulakonda3443 2 жыл бұрын
Really appreciate your efforts brother, took time but really happy to solve the question just by watching intuition.
@shaleen9434
@shaleen9434 Жыл бұрын
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 3 жыл бұрын
Appreciate the effort that you have put to explain this problem.
@shiwamsinha7076
@shiwamsinha7076 2 жыл бұрын
thanks a lot, sir for boosting my confidence that i can do programming by just applying common sense
@preetamkumar838
@preetamkumar838 2 жыл бұрын
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 KZfaq. Thanks a lot for making such complex things easier to understand.
@suyashmishra6946
@suyashmishra6946 Жыл бұрын
Hella understood man. Ig the most tricky part of this question was to check for 3*3 matrix, that you explained really well.
@nareshe2383
@nareshe2383 2 жыл бұрын
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 2 жыл бұрын
No for iterations it's not possible
@nasim3987
@nasim3987 5 ай бұрын
@@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)
@CharitraAgarwal
@CharitraAgarwal Жыл бұрын
**Addition to this approach**: Adding these optimizations will increase the efficiency much more. 1. We can use hashing to optimize the isValid function. Just 3 hash arrays, of 9x9. One for row, col and boxes. Just put the element to be 1 if its already been added, and a number is valid of its not marked in any of these 3 hashes. So, the iteration reduces to single operation. 2. In the solve function, we are always starting from 0,0 index. Why not call it always from the index from where the next operations should begin. We can pass the index for next calls in the solve function to reduce repeated iterations over filled indexes. here's my accepted leetcode solution: bool recur(int r, int c, vector& row, vector& col, vector& box, vector& board) { // if the col overflows, move to 0th col of next row if(c == 9) { r++; c = 0; } // if the row overflows, this means sudoku is full // this means we have solved the sudoku if(r >= 9) return true; if(board[r][c] != '.') { if(recur(r, c+1, row, col, box, board) == true) return true; } else { for(int i=1; i
@satendra6200
@satendra6200 11 ай бұрын
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
@samsmith3961
@samsmith3961 Жыл бұрын
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
@AryanSharma-dc4bj
@AryanSharma-dc4bj Жыл бұрын
exactlyy
@stith_pragya
@stith_pragya 4 ай бұрын
UNDERSTOOD.....Thank You So Much for this wonderful video........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
@yogeshagarwal8537
@yogeshagarwal8537 2 жыл бұрын
If you know how to solve sudoku, you can start from 4:00
@ayanSaha13291
@ayanSaha13291 3 ай бұрын
bro, I salute your patience! I never have seen such an explanation for the problem! Thanks a lot.
@debasishphukon5345
@debasishphukon5345 2 жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
good note. I was thinking about this as well. Thanks for clearing it up.
@zaidmujahid3885
@zaidmujahid3885 2 жыл бұрын
Best explanation for sudoku solver on KZfaq 💯
@bahanebaaz3232
@bahanebaaz3232 2 жыл бұрын
Approach: 1. traverse the matrix and find the empty place. 2. once we find the empty place than we tried all the numbers from 1 to 9 and check that it is a valid number or not by checking the rules. 3. and we find the correct number for that place than we find for the second empty place in 9 X 9 matrix. 4. for second empty place we repeat the same process and if we doesn't get any number, so we return false. 5. after getting the false from solve(board) function we make all the places empty that we have filled . than try for other member for first empty place. 6. and after all recursive calls we got true, than we have to stop over there only and no need to search for other solutions.
@yashkhatwani3198
@yashkhatwani3198 2 жыл бұрын
Nice Work Bro
@bahanebaaz3232
@bahanebaaz3232 2 жыл бұрын
@@yashkhatwani3198 thanks
@parthsalat
@parthsalat 2 ай бұрын
Note: We don't need to write "Else". This is because in the if condition, we are anyways "return"ing
@kashishshukla23
@kashishshukla23 2 жыл бұрын
Great explanation!! Really appreciate your efforts
@fantasyillusion
@fantasyillusion 2 жыл бұрын
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
@nitunsingh6986
@nitunsingh6986 3 жыл бұрын
Superb Explanation Bhaiya . I know how much efforts u put to come with a beautiful content .Hats off for u
@sunnykumarpal9679
@sunnykumarpal9679 2 жыл бұрын
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.
@kritikatyagi4325
@kritikatyagi4325 Жыл бұрын
What a simple solution to such a complex problem hats off to u sir
@SahilSharma-vl9rk
@SahilSharma-vl9rk 2 жыл бұрын
Woah thanks for this bro :) I literally never understood this problem and finally after watching your video I understood it completely.
@parambharti7095
@parambharti7095 Жыл бұрын
Great effort. Very informative. Thanks @Striver.
@krribss
@krribss 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 2 жыл бұрын
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.
@adityan5302
@adityan5302 2 жыл бұрын
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)
@shivanshkhare2724
@shivanshkhare2724 2 жыл бұрын
yes , n^2 is unnecessary increase in complexity.
@cinime
@cinime Жыл бұрын
Understood! Super amazing explanation as always, thank you very much!!
@trooperzooper6092
@trooperzooper6092 11 ай бұрын
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!
@ashdeepsingh6785
@ashdeepsingh6785 2 жыл бұрын
Understood the concept. Thanks for putting this much effort.
@viveknandan4950
@viveknandan4950 Жыл бұрын
Amazing explanation... But still I'll take 3 business days to completely absorb this concept
@prathamsagar5353
@prathamsagar5353 Жыл бұрын
You are a true king in explaining logic!
@user-ot1rd8hd3d
@user-ot1rd8hd3d 8 ай бұрын
The best explanation on YT for this problem
@skilz9525
@skilz9525 Жыл бұрын
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
@VishalGupta-xw2rp
@VishalGupta-xw2rp Жыл бұрын
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
@unibrow9384
@unibrow9384 2 жыл бұрын
Thanks a lot, haven't seen anyone explain so well and in such detail ! ^_^
@shubhambhardwaj8894
@shubhambhardwaj8894 3 жыл бұрын
Thank you so much brother, please complete the sde sheet 🙏
@bhaveshkumar6842
@bhaveshkumar6842 2 жыл бұрын
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 2 жыл бұрын
no ,it can have many as well but It is a bad puzzle.
@bhaveshkumar6842
@bhaveshkumar6842 2 жыл бұрын
@@asutoshghanto3419 Yes, your point is valid but I was talking about a valid Sudoku puzzle
@shaleen9434
@shaleen9434 Жыл бұрын
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
@naveentata
@naveentata 2 жыл бұрын
Great explanation!.Thank you. Can you also please make a video on this backtracking leetcode question? "1240. Tiling a Rectangle with the Fewest Squares"
@studynewthings1727
@studynewthings1727 11 ай бұрын
I understood very well, Thankyou for good explanation.
@thirumalpriyan3528
@thirumalpriyan3528 Ай бұрын
awesome explanation
@LearningYouth
@LearningYouth Жыл бұрын
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; }
@hrushikeshkale68
@hrushikeshkale68 3 жыл бұрын
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 3 жыл бұрын
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 2 жыл бұрын
It does.
@akshaymondal1372
@akshaymondal1372 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 .
@sundarrajn1003
@sundarrajn1003 Жыл бұрын
You should be teacher full time. Sadly teachers don't earn as much. Hope you do this full time after earning enough money in your job.
@chinmaykulkarni8062
@chinmaykulkarni8062 Жыл бұрын
WHT A EXPLANATION !!!! Killed it.....
@abhigyansharma9108
@abhigyansharma9108 3 жыл бұрын
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
@nopecharon
@nopecharon 2 жыл бұрын
Just a beautiful explanation. You are legend striver
@shaleen9434
@shaleen9434 Жыл бұрын
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
@amanbhadani8840
@amanbhadani8840 2 жыл бұрын
Your videos made questions like this too much easier.
@its_neel_ok
@its_neel_ok Жыл бұрын
so basically rec for (1 to 9) check1 , check2 , check3 (for 3 different check function) if yes go with the recursion else i+1
@vinothborn2win
@vinothborn2win 2 жыл бұрын
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 2 жыл бұрын
paste your solution here, and then we can discuss maybe instead of < 9 you may be doing
@VinayKumar-ze2ww
@VinayKumar-ze2ww Жыл бұрын
Mine worked properly
@jatinkumar4410
@jatinkumar4410 Жыл бұрын
Great explanation as always. Can you please explain its time and space complexity...
@yashwantlalwani
@yashwantlalwani Жыл бұрын
amazing, really great explanation.
@lalitbisht8381
@lalitbisht8381 Ай бұрын
Tere bhai bhai jaisa koi hardich nai h
@Tomharry910
@Tomharry910 Жыл бұрын
Brilliant explaination. Great video. Thank you!
@ronaksiddhpura07
@ronaksiddhpura07 Жыл бұрын
@striver best explaination in easy manner
@ramakrishnakcr4417
@ramakrishnakcr4417 5 ай бұрын
thank you🙏 for your work, if we send row number in every recursion that will improve the code execution time further
@abdussamad0348
@abdussamad0348 2 жыл бұрын
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.
@ritikashishodia675
@ritikashishodia675 2 жыл бұрын
Bhaiya ap great ho..... #below tier3 ki inspiration ho ap.....
@isheep9025
@isheep9025 Жыл бұрын
class Solution { public: bool isvalid(vector < vector < char >> & board, int row, int col, char c) { for (int i = 0; i < 9; i++) { if (board[i][col] == c) return false; if (board[row][i] == c) return false; if (board[3 * (row / 3) + i / 3][3 * (col / 3) + i % 3] == c) return false; } return true; } public: bool solver(vector & board,int row,int col) { int j; int tempi=row; for(int i=row;i
@cartidise
@cartidise Жыл бұрын
Beautifully explained!
@shrikkanthsuresh8971
@shrikkanthsuresh8971 2 жыл бұрын
Into my list of greatest tutors.
@riteshadwani9084
@riteshadwani9084 Жыл бұрын
This guy makes it so easy!
@SamPrakashM
@SamPrakashM 6 ай бұрын
Thank you for the wonderful solution keep doing sir
@SuvradipDasPhotographyOfficial
@SuvradipDasPhotographyOfficial Жыл бұрын
Exceptional explanation, Thanks a lot striver
@prikshit8
@prikshit8 3 жыл бұрын
thank you so much bhaiya. :)
@philosphize
@philosphize Жыл бұрын
Thank you so much for the explanation Learnt alot
@mohitsingh13
@mohitsingh13 2 күн бұрын
Understood ❤
@AkOp-bf9vm
@AkOp-bf9vm 12 күн бұрын
Easy peasy lemon squeezy to Solve Soduku in c++ bool SudukuSolver(vector &board,int row,int col){ // WHEN ROW == N MEANS WE HAVE FILL ALL THE BOX OF SODUKU if(row>=n) return true; // WHEN COLUMN EXCEEDS THE THE BOUNDRY THEN INCREASE THE ROW AND COLUMN = 0 if(col>=n){ return SudukuSolver(board,row+1,0); } if(board[row][col]=='.'){ for (char num = '1'; num
@itz_me_imraan02
@itz_me_imraan02 2 жыл бұрын
Crystal clear explanation as 🙏
@varun1017
@varun1017 7 ай бұрын
can we use hashing to check isValid?
@official_madhusudan_chauhan
@official_madhusudan_chauhan 6 ай бұрын
Present Sir !
@feliwx4087
@feliwx4087 8 ай бұрын
Awesomeee!!
@kalidass6531
@kalidass6531 3 жыл бұрын
Thank you for this wonderful explanation!.
@koustubhsharma7483
@koustubhsharma7483 3 жыл бұрын
bro please jaldi jaldi upload karo btw great help
@UECAshutoshKumar
@UECAshutoshKumar Жыл бұрын
Thank you sir
@sbagul2
@sbagul2 Жыл бұрын
iterating through 3x3 matrix was awesome
@googleit2490
@googleit2490 Жыл бұрын
Much hard but beautifully described, understood:) June'30, 2023 05:48pm
@enc21lakshaybhatia23
@enc21lakshaybhatia23 16 күн бұрын
thankyou
@dakshkriplani2935
@dakshkriplani2935 5 ай бұрын
I am impressed .
@zacian4941
@zacian4941 3 жыл бұрын
Thanks bro 🧡 you deserve 1M subs! backtracking has always been a nightmare. This explanation was epic and it helped me a lot🔥
@freshcontent3729
@freshcontent3729 3 жыл бұрын
what is the TC for this ques ? please explain , please help me , thanks
@zacian4941
@zacian4941 3 жыл бұрын
@@freshcontent3729 It's exponential since recursion is involved
@sushantgupta4757
@sushantgupta4757 2 жыл бұрын
thank you so much bhaiya you made so many things in easy way
@SajanKumar-ec2us
@SajanKumar-ec2us 28 күн бұрын
please discuss time complexity
@muditkhanna8164
@muditkhanna8164 Жыл бұрын
If you submit this code with binary search in the is_valid funciton, though the time complexity will not change but the better than rate will be better
@rishabhkumar2741
@rishabhkumar2741 Жыл бұрын
You dropped your 👑
@parthsalat
@parthsalat 2 жыл бұрын
Continue from: 7:35
@SatyamKumar-bw4vi
@SatyamKumar-bw4vi 2 жыл бұрын
Hare Krishna! Great🙏🙏
@user-fl1km1jq1d
@user-fl1km1jq1d 10 ай бұрын
Awesome explanation
@JayPatel-sn7it
@JayPatel-sn7it Жыл бұрын
As I heard every sudoku must have only one answer. Is it or not??
@mriduljain1981
@mriduljain1981 Жыл бұрын
this guy is godddddd hatss off man
@anmolverma075
@anmolverma075 Жыл бұрын
Bhaiya ji , OP explnation!
@sumitmaurya4032
@sumitmaurya4032 2 жыл бұрын
really you made it very simeple.. Thanks for this video
@sanchitakasat
@sanchitakasat 2 жыл бұрын
Amazing explaination!!
L16. M-Coloring Problem | Backtracking
24:37
take U forward
Рет қаралды 194 М.
L14. N-Queens | Leetcode Hard | Backtracking
36:55
take U forward
Рет қаралды 388 М.
Schoolboy Runaway в реальной жизни🤣@onLI_gAmeS
00:31
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 3,1 МЛН
Harley Quinn's revenge plan!!!#Harley Quinn #joker
00:59
Harley Quinn with the Joker
Рет қаралды 7 МЛН
ОБЯЗАТЕЛЬНО СОВЕРШАЙТЕ ДОБРО!❤❤❤
00:45
Python Sudoku Solver - Computerphile
10:53
Computerphile
Рет қаралды 1,2 МЛН
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 914 М.
The Greenwich Meridian is in the wrong place
25:07
Stand-up Maths
Рет қаралды 752 М.
Valid Sudoku - Amazon Interview Question - Leetcode 36 - Python
13:28
Why UK 🇬🇧 is going Bankrupt? : Detailed Economic Case Study
20:37
Think School
Рет қаралды 1,4 МЛН
The Clever Way to Count Tanks - Numberphile
16:45
Numberphile
Рет қаралды 940 М.
Why is anti-immigration sentiment on the rise in Canada?
13:00
The Guardian
Рет қаралды 1,7 МЛН
Schoolboy Runaway в реальной жизни🤣@onLI_gAmeS
00:31