Sliding window technique - Inside code

  Рет қаралды 44,189

Inside code

Inside code

Күн бұрын

Source code: gist.github.com/syphh/6efc029...
🔴 Learn graph theory algorithms: inscod.com/graphalgo
⚙ Learn dynamic programming: inscod.com/dp_course
💡 Learn to solve popular coding interview problems: inscod.com/50problems_course
⌛ Learn time and space complexity analysis: inscod.com/complexity_course
🔁 Learn recursion: inscod.com/recursion_course
NB: This video is ad-free, you can choose to support Inside code by purchasing one of the courses above or dropping a super thanks!
NB2: Discounts of courses above are permanent
I also post content on LinkedIn (inscod.com/linkedin) and Instagram (inscod.com/instagram)

Пікірлер: 70
@mubasakz7651
@mubasakz7651 4 ай бұрын
Great explanation! Someone get this man an award!
@sameerhasan7376
@sameerhasan7376 Жыл бұрын
Beautiful explanation! Thank you! Was struggling with this for quite some time.
@iezioaudi22
@iezioaudi22 4 ай бұрын
this was the best explanation I have seen! THANK YOUU!
@codelinx
@codelinx 9 ай бұрын
Great channel. Great illustrations and examples....🙋‍♂️
@algorithmdatastructures9244
@algorithmdatastructures9244 8 ай бұрын
Best video on this topic all over youtube. 😍
@chaos.n.dissonance
@chaos.n.dissonance 12 күн бұрын
Thank you. I've been struggling to wrap my mind around ChatGPT's explanation of sliding window technique for a few days now, this is so much simpler. def count_vowels_efficientcode(word:str, k:int) -> int: VOWELS = set('aeiou') max_vowels:int = 0 n:int = len(word) if n
@odell4709
@odell4709 6 ай бұрын
Made things very clear, thank you so much
@rishabhranjan5162
@rishabhranjan5162 18 күн бұрын
I love these kind of explanations
@cecitorresmx
@cecitorresmx 3 ай бұрын
Your video help me a lot! Thank you
@TechDoctorMalayalam
@TechDoctorMalayalam 4 ай бұрын
Great explanation and illustration
@aahringer
@aahringer Жыл бұрын
Well done, thank you for sharing!
@probabilitycodingisfunis1
@probabilitycodingisfunis1 Жыл бұрын
Amazing videos, content is explained so well with impressive animations!
@insidecode
@insidecode Жыл бұрын
Thank you!
@biggn7441
@biggn7441 2 жыл бұрын
Your videos are impressive! Can you do all of the major technical interview patterns and the intuition behind them? Thanks 💯
@insidecode
@insidecode 2 жыл бұрын
Thanks a lot!
@megamehdi89
@megamehdi89 2 жыл бұрын
Please continue making videos. I love them ❤️
@insidecode
@insidecode 2 жыл бұрын
Sure! thanks a lot
@shreyaskulkarni4805
@shreyaskulkarni4805 5 ай бұрын
Impressive Explanation ❤️
@methylie
@methylie Жыл бұрын
Your lectures are good 😊.keep posting vedios
@Pretty-Skie
@Pretty-Skie 2 ай бұрын
thankyou sir, great explanation☺
@noname_2108
@noname_2108 Жыл бұрын
very helpful, thanks!
@rodrigoelias1987
@rodrigoelias1987 Ай бұрын
Nice content, dropping a like right now
@kaushik.aryan04
@kaushik.aryan04 Жыл бұрын
please make more videos like this on recursion medium hard questions
@tankstechtutorials5721
@tankstechtutorials5721 3 ай бұрын
great video. Had fun brushing up on this algorithm. function maxNumOfVowels(s, k) { let maxNum = 0; function isVowel(c) { return /[aeiou]/.test(c) ? 1 : 0; } let leftBound = 0; let rightBound = k-1; let firstSlice = s.substring(leftBound, k); for (let index = 0; index < firstSlice.length; index++) { const element = firstSlice[index]; maxNum += isVowel(element); } let currentCount = maxNum; while (rightBound < s.length - 1) { leftBound++; rightBound++; if(isVowel(s[leftBound-1])) { currentCount -= 1; } if (isVowel(s[rightBound])) { currentCount += 1; } maxNum = Math.max(currentCount, maxNum); } return maxNum; }
@value_investing_indonesia
@value_investing_indonesia 2 жыл бұрын
Absolute genius, please continue making videoss
@insidecode
@insidecode 2 жыл бұрын
Thanks! Sure
@ysmerde2933
@ysmerde2933 Жыл бұрын
You know you are gonna learn something when the English speaker has an foreign accent ty for the tuto dude you insane
@R_SinghRajput
@R_SinghRajput Ай бұрын
Crazy explanation 🔥😎
@Samad_27
@Samad_27 2 жыл бұрын
Plz make more videos no one can beat your level Absolutely Brilliant
@insidecode
@insidecode 2 жыл бұрын
Thanks!
@Millicx
@Millicx 2 жыл бұрын
Priceless video
@callmeitsh
@callmeitsh Ай бұрын
Nice man 👍 Thank u bro ♥️
@sainithyamsani4062
@sainithyamsani4062 2 жыл бұрын
keep uploading this kind of videos. your videos are awesome!!!
@insidecode
@insidecode 2 жыл бұрын
Sure! Thanks a lot
@arsh2544
@arsh2544 Ай бұрын
awesome video!
@biloliddinfarkhodov3956
@biloliddinfarkhodov3956 6 ай бұрын
This is the best explanation I have ever watched. Thank you!
@nullptr.
@nullptr. 8 сағат бұрын
Thanks
@shaheerzaman620
@shaheerzaman620 2 жыл бұрын
Nice video! Here is the solution for vowels # max number of vowels in a string of size k def max_vowels(s, k): vowels = ("a", "e", "i", "o", "u") maxvowels = 0 for ch in s[:k]: if ch in vowels: maxvowels += 1 total = maxvowels for i in range(len(s) - k): if s[i] in vowels: total -= 1 if s[i + k] in vowels: total += 1 maxvowels = max(maxvowels, total) return maxvowels
@insidecode
@insidecode 2 жыл бұрын
perfect! good job
@charann18
@charann18 2 жыл бұрын
Just awesome!!!!
@kurdi_x5842
@kurdi_x5842 Жыл бұрын
thaankyou it is so clear
@subee128
@subee128 2 ай бұрын
thanks
@user-fm7qq6hy5y
@user-fm7qq6hy5y 4 ай бұрын
Very good explanation woow
@prathagautam9872
@prathagautam9872 2 ай бұрын
To the point!
@DiogoSilva-xx8nz
@DiogoSilva-xx8nz 2 ай бұрын
awesome channel
@paulsingh11
@paulsingh11 3 ай бұрын
Sounds like the key word to use the Sliding Window is "contiguous" when dealing with an Array?
@hammadhassan9014
@hammadhassan9014 Ай бұрын
you are genius
@averroussaloom893
@averroussaloom893 2 жыл бұрын
great video! what software did you use to create this video?
@insidecode
@insidecode 2 жыл бұрын
Thanks! I used PowerPoint
@badermuteb4552
@badermuteb4552 Жыл бұрын
nicely done. the best tutorial ever. please continue making new vide like this, here is my solution: is it correct? def mnv(s,k): v = "aeoiu" ms =0 for i in range(k): if s[i] in v: ms +=1 max_substring = ms for i in range(len(s) - k): if s[i] in v: ms -= 1 if s[i+k] in v: ms += 1 max_substring = max(max_substring, ms) return max_substring how would you solve it?????
@pierrehebert9743
@pierrehebert9743 2 жыл бұрын
When you first introduced the problem, we wanted to pick out the best set of five books, not what the price of the best set was. That means we were looking for argmax rather than max. so the code would be closer to: def best_set_for_price(items, k): if len(items) max): max = offset argmax = i + 1 return argmax As a bonus, note how we never need to calculate the initial sum.
@insidecode
@insidecode 2 жыл бұрын
Thanks for your interesting answer
@Daniel_WR_Hart
@Daniel_WR_Hart Жыл бұрын
mind == blown
@____r72
@____r72 Жыл бұрын
this channel is so top
@probabilitycodingisfunis1
@probabilitycodingisfunis1 Жыл бұрын
How do you make these animations?
@insidecode
@insidecode Жыл бұрын
I use PowerPoint
@rodrigoelias1987
@rodrigoelias1987 Ай бұрын
here is a node solution for the exercise at the end of the video: import { strictEqual } from "assert"; const vowels = new Map([ ["a", "a"], ["e", "e"], ["i", "i"], ["o", "o"], ["u", "u"], ]); const isVowel = (v: string) => vowels.has(v); const countVowels = (string: string, span = 5) => { let vowelsCount = 0; let maxVowels = 0; for (let i = 0; i < string.length; i++) { if (i - span - 1 > -1) { if (isVowel(string[i - span - 1])) { vowelsCount--; } } if (isVowel(string[i])) { vowelsCount++; } if (vowelsCount > maxVowels) { maxVowels = vowelsCount; } } return maxVowels; }; const input = "bacacbefaobeacfe"; strictEqual( countVowels(input), 4, "The expected ammount of vowels was 4, got " + countVowels(input) );
@peacepeace9462
@peacepeace9462 3 ай бұрын
i dont understand why the brute force for best_total_price has the "for i in range(len(prices)-k+1)" instead of "for i in range(len(prices)-k)". Could anyone explain this?
@tapin130505
@tapin130505 3 ай бұрын
because the last element should be included
@peacepeace9462
@peacepeace9462 3 ай бұрын
I figured out why. len(prices)-k+1 is the starting index of the last combination of the books. The calculations of brute force and sliding window have different index ranges.
@Syuzaki1301
@Syuzaki1301 3 ай бұрын
tried this in JS. Used some helper functions so I don't dilute the main function: // HELPER FUNCTIONS function isVowel(str) { let vowels = "aeiou"; return vowels.includes(str); } function countVowels(str) { let count = 0; for (let i = 0; i < str.length; i++) { if (isVowel(str[i])) count += 1; } return count; } // MAIN FUNCTION function maxVowels(s, k) { let total = countVowels(s.slice(0, 5)); let maxVowels = total; for (let i = 0; i < s.length - k; i++) { if (isVowel(s[i])) total -= 1; if (isVowel(s[i + k])) total += 1; if (maxVowels < total) maxVowels = total; } return maxVowels; }
@Fabreg01
@Fabreg01 2 жыл бұрын
Great video!!. This technique can also be leveraged in rolling hash calculations. Solution to the sliding window to calculate max vowels count in a string class Solution: def maxVowels(self, s: str, k: int) -> int: if len(s) < k: return 0 total = 0 lookUpv = {'a':True, 'e':True, 'i':True, 'o':True, 'u':True} for c in s[:k]: if c in lookUpv: total += 1 maxTotal = total for i in range(len(s)-k): char_to_add = s[i+k] if char_to_add in lookUpv: total += 1 char_to_remove = s[i] if char_to_remove in lookUpv: total -= 1 maxTotal = max(maxTotal,total) return maxTotal
@insidecode
@insidecode Жыл бұрын
Yes, I'm planning a video on Rabin-Karp algorithm, which uses rolling hash
@insidecode
@insidecode Жыл бұрын
Hey, the video on Rabin-Karp is out
@Fabreg01
@Fabreg01 Жыл бұрын
@@insidecode Great!!.Thanks
@isaacwhiz
@isaacwhiz 2 күн бұрын
I have come up with a solution but it seems like brute force, and if so, someone help me optimize it: static int maxVowelsNum(String s, int k) { var list = List.of('a', 'e', 'i', 'o', 'u'); var p1 = 0; var p2 = k + 1; var max = 0; var count = 0; while (p2 < s.length()) { var chars = s.substring(p1, p2); for (var ch : chars.toCharArray()) { if (list.contains(ch)) { count++; } } max = Math.max(max, count); p1++; p2++; count = 0; } return max; } Thank you.
@SanjuKumar-hk8yy
@SanjuKumar-hk8yy Жыл бұрын
I like your videos because your content with animation and your hard work, love you dude❤️. But I am not gay.
Sliding Window Technique - Algorithmic Mental Models
36:45
Ryan Schachte
Рет қаралды 329 М.
Mastering Dynamic Programming - How to solve any interview problem (Part 1)
19:41
ОСКАР ИСПОРТИЛ ДЖОНИ ЖИЗНЬ 😢 @lenta_com
01:01
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 156 МЛН
KINDNESS ALWAYS COME BACK
00:59
dednahype
Рет қаралды 81 МЛН
Heaps, heapsort, and priority queues - Inside code
19:01
Inside code
Рет қаралды 73 М.
10 weird algorithms
9:06
Fireship
Рет қаралды 1,1 МЛН
100+ Linux Things you Need to Know
12:23
Fireship
Рет қаралды 107 М.
JavaScript Sliding Window Technique - Fixed Size
15:19
The Code Creative
Рет қаралды 13 М.
8 patterns to solve 80% Leetcode problems
7:30
Sahil & Sarra
Рет қаралды 223 М.
The LeetCode Fallacy
6:08
NeetCode
Рет қаралды 437 М.
how Google writes gorgeous C++
7:40
Low Level Learning
Рет қаралды 807 М.
Best mobile of all time💥🗿 [Troll Face]
0:24
Special SHNTY 2.0
Рет қаралды 2,8 МЛН
Урна с айфонами!
0:30
По ту сторону Гугла
Рет қаралды 8 МЛН
Blue Mobile 📲 Best For Long Audio Call 📞 💙
0:41
Tech Official
Рет қаралды 1 МЛН