752. Open the Lock | BFS | Graph | Time Complexity | Why not DP?
Вставка
- Опубліковано 12 вер 2024
- In this video, I'll talk about how to solve Leetcode 752. Open the Lock | BFS | Graph | Time Complexity | Why not DP?
Let's Connect:
📱Discord (Join Community) : / discord
📝Linkedin: / aryan-mittal-0077
📸 Instagram: / ez.pz.dsa
💻 Twitter - / aryan_mittal007
🤖 Github: github.com/ary...
About Me:
I am Aryan Mittal - A Software Engineer in Goldman Sachs, Speaker, Creator & Educator. During my free time, I create programming education content on this channel & also how to use that to grow :)
✨ Timelines✨
✨ Hashtags ✨
#programming #Interviews #leetcode #faang #maang #datastructures #algorithms
Hey don't get demotivated. You really explain all the questions in very good way. From last 2 month i'm daily watching your videos whenever I get doubt while solving daily leetcode question.
Your dedication of how you record the videos early morning with such a great explanation is unbelievable.
Keep up the good work. You will surely get reach with this consistency.
Looking forward to meet you some day, it will be nice.
"Lavel sbke niklenge" .... Good use of meme 😂
You are putting so much effort in these videos.
keep up the good work bro.
ive not seen any channel put that much effort everyday. keep up the work bro!
BROO!!! YOU JUST KILLED IT!!!! Keep making videos like this!!
good keep it up !
I love your videos Aryan, i watch it on a daily basis.
keep up the good work my man
bhaiya aap goated ho never forget
The internal while loop for each level seemed a little confusing to me, so i did it a little differently by making a queue of pair which keeps a pair of {currentString, level} and that did the job in a single while loop, similar to traditional BFS.
Your code is very clean and clear
Great Explanation ✨.Thank you!
Awesome.. idk why you get very less likes.. you deserve a lot more
Java code for reference :
class Solution {
public char turnRight(char c){
return c == '9' ? '0' : (char) ( c + 1);
}
public char turnLeft(char c){
return c == '0' ? '9' :(char) ( c - 1);
}
public List nextOptions(String s){
List options = new ArrayList();
for(int i = 0 ; i < 4 ; i++ ){
char [] copy = s.toCharArray();
copy[i] = turnRight(s.charAt(i));
options.add(new String(copy));
copy[i] = turnLeft(s.charAt(i));
options.add(new String(copy));
}
return options;
}
public int openLock(String[] deadends, String target) {
Deque q = new LinkedList();
Set visited = new HashSet();
q.offer("0000");
visited.add("0000");
Set deadend = new HashSet(Arrays.asList(deadends));
int level = 0;
while(!q.isEmpty()){
int size = q.size();
while(size-- > 0){
String curr = q.poll();
if(curr.equals(target)) return level;
if(deadend.contains(curr)) continue;
for(String option : nextOptions(curr)){
if(!visited.contains(option) && !deadend.contains(curr) ){
q.offer(option);
visited.add(option);
}
}
}
level++;
}
return -1;
}
}
great explanation
ngl, You are my inspiration.
nice bro
great solution and explanation🙌
Thanks a ton for making us understand in the best possible way! 💯...It takes a lot of efforts, guts, and a very deep understanding to do so 🔥.
Yrr aap itna mehnat kar rahe ho.
App j curve ke starting pe ho bas kuch din aur, aap dekhna 100k bahut jald hojayga. 🙂
Great Content.
Keep Doing!!!!
❣💞❣
Great Explanation please open a Hindi Channel also
great content 😌
Thanks bro
Amazing explanation as always
Lyaval sabke nikalenge 😌😌😌
Nice explanation.
Level sabke niklenge.
nice explanation!!
100k soon!!!!❤
TIME AND SPACE COMPLEXITY PART WAS LIT!!
Sorry, bas BFS dekha aur video nahi dekha, thank you for the hint.
Leavaaal sabke niklenge
At first I thought It was a recursion problem, but I was getting wrong answer with it. I still don't understand how you come up with graph instead of recursion
CFBR
Again