Тёмный

DP 3. Frog Jump | Dynamic Programming | Learn to write 1D DP 

take U forward
Подписаться 618 тыс.
Просмотров 501 тыс.
50% 1

Lecture Notes/C++/Java Codes: takeuforward.org/data-structu...
Problem Link: bit.ly/3JPcoOx
Make sure to join our telegram group for discussions: linktr.ee/takeUforward
Pre-req for this Series: • Re 1. Introduction to ...
Full Playlist: • Striver's Dynamic Prog...
In this video, we have discussed how to solve the frog jump problem. I have taught you how you should write a 1D recurrence. Also, I have given you a follow-up problem to which you can answer in the comments. We will solve that follow-up problem in the L4.
If you have not yet checked our SDE sheet, you should definitely do it: takeuforward.org/interviews/s...
You can also get in touch with me at my social handles: linktr.ee/takeUforward

Опубликовано:

 

23 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 2 тыс.   
@takeUforward
@takeUforward 2 года назад
I need your support, and you can do that by giving me a like, and commenting "understood" if I was able to explain you.
@ManishKumar-ui1tf
@ManishKumar-ui1tf 2 года назад
Please Upload the next One video
@dhrubajyoti3774
@dhrubajyoti3774 2 года назад
Understood 🥺🥺
@somyadebsarkar6593
@somyadebsarkar6593 2 года назад
Can't we start from 0 and using recursion ?
@shubhamjha5738
@shubhamjha5738 2 года назад
koi compiler theek krao yrr python vla coding ninjas ka
@vishalkumarshaw9208
@vishalkumarshaw9208 2 года назад
We are with u.
@KaushalDhruw
@KaushalDhruw 3 месяца назад
2 years later. Still the ultimate and unbeatable learning resource in the market.
@salmanpandey8150
@salmanpandey8150 2 месяца назад
But i thought adita verma was best for dp
@jayantmishra6897
@jayantmishra6897 Год назад
this is the only playlist on youtube where you will find only positive comments because this man really put his effort to make this playlist valuable. thank you so much striver.
@manikantadevadiga7146
@manikantadevadiga7146 10 месяцев назад
i can see 2, striver and love babbar
@jeet-smokey
@jeet-smokey 2 месяца назад
@@manikantadevadiga7146 Love Babbar copies from striver. I have seen many videos taking the same sample code and examples from striver.
@nitpBlogs
@nitpBlogs 17 дней назад
@@manikantadevadiga7146 Aditya Verma ka bhi dekh lo.
@alisharath161
@alisharath161 8 месяцев назад
Best video I have ever seen on DP. Thank you Striver for helping out fellow developers.
@sanketdas7000
@sanketdas7000 2 года назад
The dp series is like web series. Every day a new episod is coming with lots of new things and leaving a suspence for the next one.. thank you striver for this wonderful effort..and "UNDERSTOOD"..
@skiver9763
@skiver9763 2 года назад
only if we could get a trailer for the next day's video😂
@adarshanku7988
@adarshanku7988 2 года назад
This series is so damn good that before watching this video, i thought of giving "min cost climbing stairs" question on leetcode a try because i felt i could do that. That is similar to this question only. And boom, i solved that question in all possible ways...recursion, memoization, tabulation and space optimised method. Thank you striver. You have kinda opened our brain and made our thinking broader. Thank you so much for the inspiration you are. Love you !!!
@tanishkumar6682
@tanishkumar6682 Год назад
Hey, striver i just want to say that concept in your videos are such a crystal clear and easy to understand that even i am studying for the first time i do not feel any difficulty to understand the solutions. so, thank you so much for providing such a video lecture free on youtube
@ryanmathew6397
@ryanmathew6397 8 месяцев назад
your explanation is so good that even before you write the pseudo code, i was able to write the recursion by starting from 0 to n-1 rather than the reverse approach that you have taken in the video. Great Work you are doing. Helps to improve the way a person can solve a problem.
@SuperSaber9
@SuperSaber9 2 года назад
Amazing video! Do watch till the end because in the space optimization part, the actual value of watching the past two videos comes.
@popularedits6984
@popularedits6984 2 года назад
UNDERSTOOD , Now I am loving dp its become easy to think from recursion to tabulation step by step, thank you so much for the hardwork!
@adebisisheriff159
@adebisisheriff159 7 месяцев назад
Thanks so much Striver. We really appreciate your effort. You are a rare gem.
@arghyadeepbhowmick2248
@arghyadeepbhowmick2248 Год назад
Understood!! After seeing the recursion, I was able to convert it on my own into a dp. Thank you STRIVER. ❤
@xlr8tanmay
@xlr8tanmay Месяц назад
You need to learn Recursion bro
@PujaKumari-zl7rw
@PujaKumari-zl7rw 2 года назад
Understood, Honestly this is the very first time I am trying to learn any dp problem. And I am able to understand everything... Very clear explanation. Loved it.. Thanks a lot for all the efforts :)
@balajiaadi1901
@balajiaadi1901 2 года назад
I recently started this dp series and i want to complete this series in 20 days this is my day 1 Thank you for this awesome series
@sumitsanu9524
@sumitsanu9524 Год назад
You will get hired even if you can explain an interviewer till memoization thing but it will blow the mind of interviewer if you go till space optimisation to constant.... awesome video and striver is just god.
@atulmishra1620
@atulmishra1620 Год назад
Amazing the content the quality the explaination taking students through the journey from greedy to memory optimized dp in such a simple yet elegant way Genuine appreciation Man
@parthsalat
@parthsalat 2 года назад
Recursion code at 24:33 Memoization code at 25:25 Tabulation code at 30:54 Space optimization at 36:22
@prateeksaini8553
@prateeksaini8553 2 года назад
Thanks dude
@yournemesis8232
@yournemesis8232 2 года назад
Would recommend to watch completely without skipping though The insights given by him are great
@parthsalat
@parthsalat 2 года назад
@@yournemesis8232 Yes, you are right. This is just for jumping to the desired explanation without wasting time - when you are revising
@pranavkutty5736
@pranavkutty5736 2 года назад
Understood! Your series is making me love DP. Thanks a ton! Excited for the next one.
@parvathivanapilli8572
@parvathivanapilli8572 4 месяца назад
Understood, Now I'm loving Dp Thank you Striver ❤
@user-xn5wu1ez4p
@user-xn5wu1ez4p 7 месяцев назад
I am nothing but greatful. Wanna finish the whole playlist. Thanks a lot
@taukirlalwala2865
@taukirlalwala2865 Год назад
Hey Striver! I tried solving this question myself and I was able to solve it, I must say this series is amazing. You started building my concepts in first 2 lectures itself. Gonna see your lecture now and look at your approach. Would surely complete whole dp series. Thank you for this series ❤
@doingsneakypeakylike
@doingsneakypeakylike 2 года назад
You explain these concepts so well! Thanks man!
@mayank_singh_43
@mayank_singh_43 Год назад
I also started understanding dsa , you are magical man of programming world✌
@harshrajhrj
@harshrajhrj Год назад
Very helpful and minute problems were explained nicely. Nothing best than this.
@atharvakalele37
@atharvakalele37 2 года назад
understood the thought 💭 process and that's what I wanted...thanks a lot brother!
@026harshagarwal9
@026harshagarwal9 2 года назад
We will take a for loop running from j=1 to k and instead of writing (ind-1) and (ind-2) we will going to simply write (ind-j) that will give me the solution. Time Complexity:-O(N*K) Space complexity:-O(N). Yes sir, it cannot be space optimised because we have to use K+1 variables . Nice video and yes you are absolutely right, I have learnt space optimisation in dp from you THANKS MAN 👍👍
@cipherCrafters14
@cipherCrafters14 2 года назад
baniya buddhi mat chalao jyada striver bhai ko appreciate kaaro khud toh kuch kar nahi raahe
@Anonymous-lw4nq
@Anonymous-lw4nq Год назад
@@cipherCrafters14 XD
@dibyajyotinayak2235
@dibyajyotinayak2235 9 месяцев назад
Understood! Thanks for explaining beautifully!
@G.Lakshmi_Prasanna
@G.Lakshmi_Prasanna Год назад
Clearly understood💯. Thank you so much for the series
@ankitadas5833
@ankitadas5833 2 года назад
Amazing video! Everything is clearly understandable. from day 1 of dp series I have watching your videos and Day by Day become big fan of your teaching way. God bless you sir. Came to know from your insta story that u have fever 🤒 Get well soon sir.
@pjagannadham2540
@pjagannadham2540 2 года назад
Yes his teaching is absolutely marvelous and I become big fan of him he keep rocking now I am happy to be cse student 😇😇
@niyammuliya5787
@niyammuliya5787 2 года назад
follow ups solution: #include int frogJump(int n, vector &heights, int k){ vector dp(n, INT_MAX); dp[0] = 0; for(int i=1; i
@letslearn1055
@letslearn1055 Год назад
this is what i thought in the very first second.
@kanishyathra
@kanishyathra Год назад
@@letslearn1055 me too
@user-id7pz9bs2f
@user-id7pz9bs2f 9 месяцев назад
@@letslearn1055 same here when he said k jumps then i thought of a nested for loop till k
@uditgarg6508
@uditgarg6508 4 месяца назад
mee too
@umber3117
@umber3117 6 месяцев назад
Understood. Amazing explanation. Thanks a lot for making these videos.
@athangkulkarni8245
@athangkulkarni8245 7 месяцев назад
Understood! Also, I could do tabulation and space optimization on my own after watching the explanation! A very big Thank you🥺
@gmh14
@gmh14 Год назад
At 25:23, can't you initialize the dp array for only n elements instead of n+1? Like you did for tabulation?
@firefly_3141
@firefly_3141 Год назад
Code Of Frog Jump #include using namespace std; //Top-Down Approach int dp1(int ind,vector&heights,vector&dp) { if(ind == 0) return 0; if(dp[ind] != -1) return dp[ind]; int left = dp1(ind-1,heights,dp) + abs(heights[ind]-heights[ind-1]); int right = INT_MAX; if(ind > 1) right = dp1(ind-2,heights,dp) + abs(heights[ind]-heights[ind-2]); return dp[ind] = min(left,right); } //Tabulation Method - Bottom Up Approach /* vectordp(n,0); dp[0]=0; for(int i=1;i 1) secondstep = dp[i-2] + abs(heights[i] - heights[i-2]); dp[i] = min(firststep,secondstep); } return dp[n-1]; */ //Space Optimization /* int prev=0; int prev2=0; for(int i=1;i1) secondstep = prev2+abs(heights[i]-heights[i-2]); int curi = min(firststep,secondstep); prev2 = prev; prev = curi; } return prev; */ int frogJump(int n, vector &heights) { vectordp(n+1,-1); return dp1(n-1,heights,dp); }
@vm1662
@vm1662 11 месяцев назад
Understood!! Thanks a lot for creating this series.
@user-to3jj8lj8h
@user-to3jj8lj8h 11 дней назад
Understood ! much appreciations to your efforts .
@deepanshudhakate9622
@deepanshudhakate9622 2 года назад
UNDERSTOOD 😀🔥
@gajjalaharsha
@gajjalaharsha 2 года назад
Can we write base case for n=1, then can write Math.abs(heights[1]-heights[0])?
@takeUforward
@takeUforward 2 года назад
Yes
@manasansh7198
@manasansh7198 9 месяцев назад
"UNDERSTOOD" Great series Striver
@satwiksrivastava
@satwiksrivastava 11 дней назад
I managed to do the space optimization on my own! That's just how good your explanation is!
@studynewthings1727
@studynewthings1727 10 месяцев назад
The code for k jumps: #Memoization def k_jumps(n,dp,arr,k,result): if n == 0: return 0 if dp[n] != -1: return dp[n] for i in range(1,k+1): if (n > (i - 1)): step = k_jumps(n-i,dp,arr,k,result) + abs(arr[n] - arr[n-i]) else: step = 9999999 result = min(result,step) dp[n] = result return dp[n] arr = [30,10,60,10,60,50] n = len(arr) k = 3 result = 999999 dp = [-1 for i in range(n)] print(k_jumps(n-1,dp,arr,k,result)) #Tabulation def k_jumps(n,arr,k): dp = [-1 for i in range(n)] if n == 0: return 0 dp[0] = 0 for index in range(1,n): result = 999999 for i in range(1,k+1): if (index > (i - 1)): step = dp[index-i] + abs(arr[index] - arr[index-i]) else: step = 9999999 result = min(result,step) dp[index] = result print(dp) return dp[n-1] arr = [60,30,10,60,10,60,50] n = len(arr) k = 3 result = 999999 print(k_jumps(n,arr,k))
@Vishal-joshi1998
@Vishal-joshi1998 2 года назад
Count all possible palindrome in string with rearranging characters - Infosys 🙄
@SumitChauhan-vv5ix
@SumitChauhan-vv5ix 4 месяца назад
This can be solve using combinatrix also , right??😅
@ADITYASINGH-b4u
@ADITYASINGH-b4u 11 дней назад
understood every bit of content ...thank u for this amazing lecture
@jayujain2647
@jayujain2647 Год назад
Thanks a lot!!!! I was able to solve the video without seeing the video all because of you!!!!
@nikhilprasad644
@nikhilprasad644 2 года назад
"UNDERSTOOD"..... Bhaiya pls upload practice problem link other than coding ninja link. Leetcode interface is best for easy understanding. I hope you understand , Thanks
@krishnachaitanya1265
@krishnachaitanya1265 2 года назад
Its not there on leetcode(Same problem)
@krishnachaitanya1265
@krishnachaitanya1265 2 года назад
Sadly leetcode is missing these kind of problems. No platform can match leetcode interface
@zaidshaikh2536
@zaidshaikh2536 2 года назад
A similar problem on Leetcode is Min cost Climbing stairs 746
@nikhilprasad644
@nikhilprasad644 2 года назад
@@zaidshaikh2536 bro i didnt ask for a similar problem on leetcode, I asked Striver bro to give the leetcode link and not the coding ninja link.
@sujan_kumar_mitra
@sujan_kumar_mitra 2 года назад
Solution of follow up: Approach: 1. Maintain a Linked List which will contain AT MOST K nodes, (analogous to DP array of size K) 2. For i'th state, traverse through the linked list to access previous K dp states to find the minimum energy required for the jump. 3. Now, to store the result, a. if LinkedList already has K nodes, then i. remove the HEAD node from list ii. update HEAD iii. to store the result and attach it to TAIL. b. else, i. create a new node and attach it to the TAIL of the linked list. Note: This is the reason Linked List is used instead of an array to shift the elements in O(1) time. Note: We can use Queues and Iterators also for the same purpose, but memory reuse won't be possible. Time Complexity: O(N*K), Space Complexity: O(K) Code: public class Solution { static FrogKJumps obj = new FrogKJumps(); public static int frogJump(int n, int heights[]) { return obj.minJumps(heights,2); } } class FrogKJumps { static class Node { int val; Node next; Node(int val) { this.val = val; } } public int minJumps(int[] heights, int k) { if (heights == null || heights.length < 2) return 0; Node[] headTailRef = { null, null }; // 0th index = head, 1st index = tail boolean hasAtLeastKNodes = false; headTailRef[0] = headTailRef[1] = new Node(0); for (int i = 1; i < heights.length; i++) { int j = Math.max(0, i - k); int minEnergy = Integer.MAX_VALUE; Node nodeItr = headTailRef[0]; for (; j < i; j++, nodeItr = nodeItr.next) { minEnergy = Math.min(minEnergy, Math.abs(heights[i] - heights[j]) + nodeItr.val); } append(headTailRef, hasAtLeastKNodes, minEnergy); hasAtLeastKNodes = i >= k - 1; } return headTailRef[1].val; // analogous to dp[n-1] } /** * if willEvictHead is true, then uses the current head node as next node * (analogous to FIFO replacement strategy) * else, a new node is created and attached to end of linked list * * Assumes, linked list contains at least one node */ private void append(Node[] headTailRef, boolean willEvictHead, int data) { if (willEvictHead) { Node head = headTailRef[0]; head.val = data; headTailRef[0] = head.next; headTailRef[1].next = head; } else { headTailRef[1].next = new Node(data); } headTailRef[1] = headTailRef[1].next; } public static void main(String[] args) { int[] heights = { 4, 8, 3, 10, 4, 4 }; int k = 2; System.out.println(new FrogKJumps().minJumps(heights, k)); } } Github Gist: /SujanKumarMitra/0544d830e41ca55f858976fbbb5a7491
@takeUforward
@takeUforward 2 года назад
Amazing solution, but lets not complicate it by using linkedlist, we can use list STL 😌
@sujan_kumar_mitra
@sujan_kumar_mitra 2 года назад
@@takeUforward yes, for simplicity; use Queues and Iterators.
@sujan_kumar_mitra
@sujan_kumar_mitra 2 года назад
@@takeUforward BTW, how's the code quality ?
@takeUforward
@takeUforward 2 года назад
@@sujan_kumar_mitra It's really good! Top notch!
@MDEMANURRAHAMAN-
@MDEMANURRAHAMAN- 3 месяца назад
Best explanations indeed, love you man.
@aagamjain2131
@aagamjain2131 Год назад
This playlist is worth the hype ❤‍🔥
@simple_saviour4496
@simple_saviour4496 2 года назад
If possible pls provide leetcode problem link also of the particular problem since most of us are following leetcode
@zaidshaikh2536
@zaidshaikh2536 2 года назад
Similar problem on Leetcode is 746
@user-th4nl8rv7l
@user-th4nl8rv7l 2 месяца назад
Bro the way u explained is just amazing
@dikshikabansal7837
@dikshikabansal7837 Год назад
understood and sir this is the best series till date i found
@urdaddy8520
@urdaddy8520 9 месяцев назад
this space optimization technique is way too classic, thanks bhaiya
@vijeshsshetty
@vijeshsshetty Месяц назад
Understood. Great Playlist !!!!
@xlr8tanmay
@xlr8tanmay Месяц назад
Amazing explanation. Perfect solution to explain in an interview..
@dewsara2888
@dewsara2888 21 день назад
Perfect, Thanks a lot Striver
@jagansubramanian5234
@jagansubramanian5234 7 месяцев назад
Understand. Keep doing good work striver
@dEviL_bIsWaJiT
@dEviL_bIsWaJiT 12 дней назад
Understood, Thanks a lot bhaiya ❤
@user-zm9qn2sp3h
@user-zm9qn2sp3h 9 месяцев назад
UNDERSTOOD. Your explanation is damn good bro. thanks alot.❤
@lokeshreddy4148
@lokeshreddy4148 6 месяцев назад
I think it is the best solution to previous videos
@codewithom11
@codewithom11 11 месяцев назад
US😎 Before the lecture, i was having a lot of fear about tabulation. Bt now its totally clear.😇 Thanks Raj Bhaiyya
@nagame859
@nagame859 Год назад
Understood! Just wow! Love DP ❤️
@ajayprajapati7914
@ajayprajapati7914 9 месяцев назад
Explanation is very high level❤❤❤
@vibhavsharma2724
@vibhavsharma2724 2 месяца назад
understood this very well. Thanks to striver
@NirmalyaMusicOfficial
@NirmalyaMusicOfficial 14 дней назад
Understood each step in detail 💯
@stith_pragya
@stith_pragya 7 месяцев назад
Thank You Much for this wonderful video.............🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
@sonukumarram1880
@sonukumarram1880 5 месяцев назад
US , such a cool explanation ... thnx for this wndrful playlist
@abhisheknemade2444
@abhisheknemade2444 7 месяцев назад
Thanks baiya very wonderfull video. I understood the video. Please make more and more videos. God will bless you. HK.
@thisismr900
@thisismr900 10 месяцев назад
Understood! hauuwa bana rakha tha dp ka 1 saal se man mein thanks 900
@rohan8758
@rohan8758 3 месяца назад
understood. Thanks for DP web series with addiction
@jaatharsh
@jaatharsh 11 месяцев назад
awesome, loved the clear n cripsh explanation
@aradhyapandey1489
@aradhyapandey1489 9 месяцев назад
Great explanation striver!! Understood
@aps8874
@aps8874 Месяц назад
Understood....Thank you so much :)
@beilulbilly2636
@beilulbilly2636 7 месяцев назад
Love the way you explained
@ritikshandilya7075
@ritikshandilya7075 Месяц назад
Understood , Thanks Striver
@rajarshinath6194
@rajarshinath6194 9 месяцев назад
understood Sir... U are just GOD
@SethuIyer95
@SethuIyer95 4 месяца назад
I am actually watching this to give a google interview sometime later but god damn, this is actually fun to learn lol
@amalasebastian9968
@amalasebastian9968 7 месяцев назад
Great Teaching Striver!
@chandrakanthsagar8886
@chandrakanthsagar8886 Год назад
By watching this series ....i feel i started something in my feel
@nareshd7731
@nareshd7731 7 месяцев назад
Awesome Series Kudos !
@SayanKarmakar
@SayanKarmakar 10 дней назад
Learnt the concept, went straight to the editor, coded it in JAVA and submitted it...All test cases submitted 🔥👍 Striver's way of explaining recursion and DP is unbeatable and uncomparable
@ragnos6756
@ragnos6756 Год назад
Approach: Since the frog can make k jumps, we can use k recursive calls and find the minimum of them. used a variable ans to kept it as positive infinity to update the answer . base case is same as the frog jumps qn. but since frog can make k jumps, used a for loop to find the the answer for every jump (1st , 2nd ,.... till kth). also a check of i-w>=0 is made so that there is no infinite recursion. def frogJump(n,heights,k) -> int: i=n-1 ans=float('inf') def helper(i,ans): if i==0: return 0 for w in range(1,k+1): if i-w>=0: find=helper(i-w,ans)+abs(heights[i-w]-heights[i]) ans=min(find,ans) return ans return helper(i,ans) def frogjump_tabulation(n,heights,k): dp=[0]*(n+1) dp[0]=0 for i in range(1,n): ans=float('inf') for j in range(1,k+1): if i-j>=0: find=dp[i-j]+abs(heights[i-j]-heights[i]) ans=min(ans,find) dp[i]=ans return dp[n-1]
@anikethdeshpande8336
@anikethdeshpande8336 Год назад
best and detailed explanation ! thank you :)
@lifehustlers164
@lifehustlers164 4 месяца назад
4/57 done!!! understood!
@bhanderidhruvbhanderidhruv557
@bhanderidhruvbhanderidhruv557 3 месяца назад
big thank you bhai for your hard work and make questions easy for us , again thank you with saying "we can't be lazy by seeing your high level of energy to teach us", "UNDERSTAND" 😍🥰🤩😇😘❤💘
@Anonymous-hj4zh
@Anonymous-hj4zh Месяц назад
Thank you, understood very well
@maddinenianilkumar__krishn7619
UNDERSTOOD. Thank you very much
@user-bw7gb1yr1p
@user-bw7gb1yr1p 10 месяцев назад
yeah, Sir, I understood. your lecture is very informative..... thank you, sir.
@prashantmishra-yw4xu
@prashantmishra-yw4xu 5 месяцев назад
great explanation like always
@brindhadhinakaran9672
@brindhadhinakaran9672 Год назад
Nice series Striver. Thanks
@NazeerBashaShaik
@NazeerBashaShaik 8 месяцев назад
Great explanation.
@stith_pragya
@stith_pragya 7 месяцев назад
UNDERSTOOD...........😎😎😎😎😎😎
@coder_07
@coder_07 4 месяца назад
UnderStood Very well Thank You sir
@vikrammehra4354
@vikrammehra4354 Месяц назад
thanku striver bhaiya
@ArjunSehgal-gv1cc
@ArjunSehgal-gv1cc 5 месяцев назад
semester 1 is about to start,and i am on this lecture,super confident>3000
@albatrossgeez6637
@albatrossgeez6637 4 месяца назад
bhai itna jaldi
@udaypandey5659
@udaypandey5659 7 месяцев назад
very well understood !
@pramodverma4010
@pramodverma4010 Год назад
Awesome... Thank you for your efforts. totally Understood :)
@lavanyaprakashjampana933
@lavanyaprakashjampana933 Год назад
I understand well and good thank you so much...
@abhinavbhardwaj3372
@abhinavbhardwaj3372 Год назад
you are great sir now i am easily understanding dp thankyou so much
@nantuadhikari1280
@nantuadhikari1280 9 месяцев назад
Understood very well
@gourangamula361
@gourangamula361 Год назад
Understood, thank u very much Sir for nice explanation 🥰
Далее
How I would learn Leetcode if I could start over
18:03
Просмотров 358 тыс.
ПОЛЕЗНЫЕ ЛАЙФХАКИ В PLANTS VS ZOMBIES!
00:45
DP 6. House Robber 2 | 1D DP | DP on Subsequences
9:50
Roblox Had A Crazy Update Yesterday...
9:23
Просмотров 414 тыс.
Coding Interviews Be Like
5:31
Просмотров 6 млн