Top 10 Javascript Algorithms to Prepare for Coding Interviews

  Переглядів 54,937

freeCodeCamp.org

freeCodeCamp.org

День тому

Build a solid foundation and prepare you for Leetcode-style coding challenges. Learn the top 10 must-know Javascript algorithms interview questions to help you ace your coding interviews. This course will help you build a strong foundation in Javascript algorithms and tackle Leetcode problems with confidence.
💻 Code: github.com/codingmoney/javasc...
✏️ Course developed by @CodingMoney
⌨️ (0:00:00) Introduction
⌨️ (0:01:00) Reverse String & Integers
⌨️ (0:11:29) Palindrome
⌨️ (0:15:58) Max Char
⌨️ (0:33:43) Array Chunking
⌨️ (0:41:56) Title Case
⌨️ (0:49:31) Anagrams
⌨️ (1:07:54) Count Vowels
⌨️ (1:15:21) Fizz Buzz
⌨️ (1:20:02) Steps String Pattern
⌨️ (1:30:52) Pyramid String Pattern
⌨️ (1:39:24) Bonus - Spiral Matrix
🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan
👾 Oscar Rahnama
--
Learn to code for free and get a developer job: www.freecodecamp.org
Read hundreds of articles on programming: freecodecamp.org/news

КОМЕНТАРІ: 59
@CodingMoney
@CodingMoney Місяць тому
1:00 Reverse String & Integers 11:29 Palindrome 15:58 Max Char 33:43 Array Chunking 41:56 Title Case 49:31 Anagrams 1:07:54 Count Vowels 1:15:21 Fizz Buzz 1:20:02 Steps String Pattern 1:30:52 Pyramid String Pattern 1:39:24 Bonus - Spiral Matrix
@augustoeduardo209
@augustoeduardo209 Місяць тому
Beatiful countryside landscape.
@sayedrezaomid1305
@sayedrezaomid1305 Місяць тому
I am very happy that i saw my Afghan and ex colleaque trainings at this channel.
@MyCodingDiarie
@MyCodingDiarie Місяць тому
You're changing lives with your content. Keep inspiring!
@orangeprogrammer
@orangeprogrammer Місяць тому
Awesome video! Thank you for making it 😀
@daisy_haniii
@daisy_haniii Місяць тому
Palindrome using two pointers technique: function isPalindrome(str) { let min = 0 let max = str.length - 1 do { if(str[min] == str[max]) { min++ max-- } else { return false } }while(min < max) return true }
@WhitneyChakara
@WhitneyChakara Місяць тому
This is excellent and able to be completed as it's short and straight to the point.
@arzoohashimi519
@arzoohashimi519 Місяць тому
Very informative and helpful.
@khanhphamthanh5012
@khanhphamthanh5012 Місяць тому
amazing spiral Matrix. It really so hard for me to find out the way. Thank you for your code
@user-dy8si5bf8t
@user-dy8si5bf8t Місяць тому
So engaging and interesting thank you sir for this lecture ❤
@sergeynazarov2473
@sergeynazarov2473 Місяць тому
Perfect, trainees will be ready!
@shulamohammad2275
@shulamohammad2275 Місяць тому
loved the tutorial by Mukhtar!
@murshidalam1982
@murshidalam1982 Місяць тому
Very helpful.
@Adolfofilipe7369
@Adolfofilipe7369 Місяць тому
Thanks for your help 🎉🎉🎉🎉🎉🎉
@LokeshKumar-tk7ri
@LokeshKumar-tk7ri Місяць тому
Thank you Free code Camp for providing DSA in Javascript and also need more content on JS DSA
@user-lp1jw1fq7d
@user-lp1jw1fq7d Місяць тому
Love this video ❤
@lazarokabira2945
@lazarokabira2945 Місяць тому
Love this
@DavidMorenoH
@DavidMorenoH Місяць тому
OMG please do this but with Java or Python
@adlen01
@adlen01 Місяць тому
Ther is ful apk in webstores
@MS-gi3hc
@MS-gi3hc Місяць тому
Thank you
@ajiteshmishra0005
@ajiteshmishra0005 3 дні тому
We want more videos on these String and Array manipulation methods and programming questions
@dudekool12
@dudekool12 Місяць тому
Need this in Python!
@marioerichsen1977
@marioerichsen1977 Місяць тому
function palindrome(str) { //with two pointer technique var stringArr = str.split('') const reverseArray = (arr) => { let i = 0; let j = arr.length-1; while (i < j) { let tmp = arr[i]; arr[i++] = arr[j]; arr[j--] = tmp; }; return arr }; const reversed = reverseArray(stringArr) return str === stringArr.join('') }
@atultrp1
@atultrp1 Місяць тому
// every method function palindrome(str) { return str.split('').every((ele, i) => { return ele == str[str.length - i - 1] }) } // two pointer technique function palindrome2(str) { let start = 0 let last = str.length - 1 while (start < last) { if (str[start] != str[last]) { return false } else { start++ last-- } } return true }
@narekmeliksetyan9262
@narekmeliksetyan9262 Місяць тому
it was very useful. but I will suggest the following solution for problem 9. function foo(n){ for(i=1;i
@vnm_8945
@vnm_8945 Місяць тому
You could just use Array(i) instead of Array.from({length:i}), nice solution!
@ajiteshmishra0005
@ajiteshmishra0005 3 дні тому
We are learning well from these type of Videos But please zoom in something more so that we can see the screen properly.
@savchenkoilliya9131
@savchenkoilliya9131 Місяць тому
In my opinion I can give better and more javascript-style solutions for at least couple tasks. Maybe it's a little bit harder to read, but it works better when we are talking about js: var chunk = (array, size) => (array.length (str.split(" ") .map((word)=> (word.charAt(0).toUpperCase() + word.slice(1)).join(" "))) P.S. Good practice show O(n) complexity for each solution, because it's a think that can be asked on any interview.
@deha9210
@deha9210 Місяць тому
var 🤢
@ITRebels
@ITRebels Місяць тому
awesome
@alikh5601
@alikh5601 Місяць тому
Saved
@user-cu7tw3vb2k
@user-cu7tw3vb2k Місяць тому
Q1: function reverseIt(str){ let newArr = ''; for(let i = 0; i< str.length ; i ++) { newArr += str[str.length -i-1]; } return newArr; } console.log(reverseIt('hello'))
@mr_aha4713
@mr_aha4713 Місяць тому
12:23 function pal(str){ console.log(str) if (str === str.split('').reverse().join('')){ return true }else { return false } } console.log(pal(""))
@m0slah
@m0slah Місяць тому
@edwarddk9007
@edwarddk9007 14 днів тому
my solution for the Pyramid String Pattern exercise: function pyramid(n, level, body, space) { if(level
@user-ko6zp7rt6b
@user-ko6zp7rt6b Місяць тому
function isPolindrom(str) { let check = str.split('').reverse().join(''); return str === check ? true : false }
@-.nisa.-
@-.nisa.- Місяць тому
1:39:20 This is such an overcomplication... One 'for' loop is more than enough here: for (let i = 1; i
@arzoohashimi519
@arzoohashimi519 Місяць тому
Big o notation for repeat function is o(n) which is similar to a for loop. So ur solution is also the same.
@SaeedITSpot
@SaeedITSpot Місяць тому
🎉🎉🎉
@moshtabamorsali
@moshtabamorsali 6 днів тому
I did each of them in a different way but still working in the same performance😶‍🌫
@rishiraj2548
@rishiraj2548 Місяць тому
👍🙂👍
@g0nt411
@g0nt411 Місяць тому
Honestly, any companies could ask questions like these?
@ajmalshahanpm938
@ajmalshahanpm938 Місяць тому
function count(str){ let counter=0; // for(let i=0;ifi===str[i])) { // counter++; // } // } for(single of str){ if (['a','i','o','e','u'].some((fi)=>fi===single)) { counter++; } } return counter; } console.log(count("aj code"));
@vijayakabajo
@vijayakabajo Місяць тому
0:22 He owns a farm
@user-ko6zp7rt6b
@user-ko6zp7rt6b 26 днів тому
function checkVowels(str) { let arr = [] const vowelsArray = ['a', 'e', 'i', 'o', 'u'] let arrFrStr = str.toLowerCase().split('') for (let i of vowelsArray) { for (let y of arrFrStr) { if (i === y) { arr.push(i) } } } return arr.length }
@subashstino899
@subashstino899 Місяць тому
Is this MERN Stack developer needs to Study DSA ???… And I want to know Any best book for DSA( Data structure and algorithms )……????
@feerfeja
@feerfeja Місяць тому
this video course is the best for learning algorithms in Javascript :p
@ajiteshmishra0005
@ajiteshmishra0005 2 дні тому
for(var i = 1; i { console.log(i); }, 1200); } Output is 4 4 4 & for(let i = 1; i { console.log(i); }, 1200); } Output is 1 2 3 Why??
@giftedfingers2580
@giftedfingers2580 День тому
The for loop is using var which in turn the compiler recognizes the var but not its value. Second, the setTimeout has an arrow function and that creates a closure.
@phyapanchakpram
@phyapanchakpram 28 днів тому
//alternate newbie solution function capitilizeFirstLetter(str) { let arr = str.split(' '); let result = []; for(let s of arr) { result.push(s.charAt(0).toUpperCase() + s.substr(1)) } return result.toString().replace(/,/g,' '); }
@phyapanchakpram
@phyapanchakpram 28 днів тому
//To return all char if max occurence has more than one time function maxOccurence(str) { let charMap = {}; for(let char of str) { charMap[char] = (charMap[char] || 0) + 1; } let max = 0; let maxChar = []; for(let key in charMap) { if(charMap[key] > max){ max = charMap[key]; } } for(let char in charMap) { if(charMap[char] === max) { maxChar.push(char); } } return maxChar; }
@HazimTulumovic
@HazimTulumovic 10 днів тому
Max chars : function maxChar(str) { const usedChars = {}; for (const char of str) { usedChars[char] = usedChars[char] ? usedChars[char] + 1 : 1; } return Object.keys(usedChars).sort((a, b) => usedChars[b] - usedChars[a])[0]; }
@dogukankarabeyin3059
@dogukankarabeyin3059 Місяць тому
Guys these questions and answers are identical to Stephen Grider's Coding Interview Bootcamp udemy course. I get these are common questions but it just seemed too similar.
@OthmaneAHMARLAHYA
@OthmaneAHMARLAHYA Місяць тому
i'm sure no one understand this
@nicolasmanns7249
@nicolasmanns7249 14 днів тому
Palindrome with some kind of two pointers made with a for loop (also removes caps and spaces) function palindrome(str) { strToTest = str.toLowerCase().split(" ").join(""); let isPalindrome = true; for (let i = 0; i
@DavidDroddy
@DavidDroddy Місяць тому
For String and Int reversal and Palindrome -- .every and two pointer techniques: // STRING.SPLIT INTO ARRAY //const reverseString = (theString) => theString.split('').reverse().join(''); // SPREAD STRING(ARRAY-OF-CHARACTERS) INTO ARRAY // const reverseString = (theString) => [...theString].reverse().join(''); // ARRAY.EVERY(element, index, array) const reverseString = (theString) => { let reversedString = ''; const reversiosa = (character, i, charArray) => { // using index and array (all tests pass) // let lastElement = charArray[charArray.length - ++i]; // return reversedString += lastElement; const j = charArray.length - (++i) return reversedString += charArray[j]; // using element (all tests pass) // return reversedString = character + reversedString; }; [...theString].every(reversiosa) return reversedString; } // "TWO POINTER" SOLUTION // const reverseString = (theString) => { // let i = 0; // let j = theString.length-1; // let stringArray = [...theString]; // while(i parseInt(reverseString(theNumber.toString())) * Math.sign(theNumber); const isPalindrome = (theString) => reverseString(theString) === theString; // TESTS const stringToReverse = 'jar'; const expectedReversedString = 'raj'; const reversedString = reverseString(stringToReverse); let expectedAndReceived = `expected: ${expectedReversedString}; received: ${reversedString}`; if(reversedString === expectedReversedString) { console.log(`pass - reverseString('${stringToReverse}') ${expectedAndReceived}`); } else { console.error(`FAIL - reverseString('${stringToReverse}') ${expectedAndReceived}`); } let intToReverse = 53; let expectedReversedInt = 35; let reversedInt = reverseInt(intToReverse); expectedAndReceived = `expected: ${expectedReversedInt}; received: ${reversedInt};`; if(reversedInt === expectedReversedInt){ console.log(`pass - reverse a POSITIVE integer reverseInt(${intToReverse}) ${expectedAndReceived}`); } else { console.error(`FAIL - reverse a POSITIVE integer reverseInt(${intToReverse}) ${expectedAndReceived}`); } intToReverse = -54; expectedReversedInt = -45; reversedInt = reverseInt(intToReverse); expectedAndReceived = `expected: ${expectedReversedInt}; received: ${reversedInt};`; if(reversedInt === expectedReversedInt){ console.log(`pass - reverse a NEGATIVE integer reverseInt(${intToReverse}) ${expectedAndReceived}`); } else { console.error(`FAIL - reverse a NEGATIVE integer reverseInt(${intToReverse}) ${expectedAndReceived}`); }
@salaminipples965
@salaminipples965 Місяць тому
These are way easier than "easy" leetcode problems.
@petehotchkiss4830
@petehotchkiss4830 Місяць тому
Does the capitalise method need to split strings out? Would it not be more performant to use a RegEx for this? eg const capitalise = (str): string => str.replace(/\w\S*/g, (s) => `${s.charAt(0).toUpperCase()}${s.slice(1).toLowerCase()}`);
@HazimTulumovic
@HazimTulumovic 10 днів тому
Max chars: function maxChar(str) { const usedChars = {}; for (const char of str) { usedChars[char] = usedChars[char] ? usedChars[char] + 1 : 1; } return Object.keys(usedChars).sort((a, b) => usedChars[b] - usedChars[a])[0]; }
Top 7 Data Structures for Interviews Explained SIMPLY
13:02
Codebagel
Переглядів 91 тис.
Front End Developer Roadmap 2024
12:09
freeCodeCamp.org
Переглядів 662 тис.
Пескоструйный АППАРАТ! #shorts
01:00
Гараж 54
Переглядів 3,2 млн
Why iPad Pro 2024 Says EVERYTHING about Apple’s Future!
12:23
Better Creating
Переглядів 14 тис.
Top 7 Algorithms for Coding Interviews Explained SIMPLY
21:22
Codebagel
Переглядів 231 тис.
Graph Search Algorithms in 100 Seconds - And Beyond with JS
10:30
Fireship
Переглядів 262 тис.
Create a Sidescroller 2.5d Series Part 1
16:40
Brianko Games
Переглядів 7 тис.
Build this JS STOPWATCH in 18 minutes! ⏱
18:06
Bro Code
Переглядів 15 тис.
I gave 127 interviews. Top 5 Algorithms they asked me.
8:36
Sahil & Sarra
Переглядів 572 тис.
Build this JS calculator in 15 minutes! 🖩
15:20
Bro Code
Переглядів 308 тис.
I Built A Mobile APP In 30 Minutes With No-Code + AI
8:31
WeAreNoCode - Learn No-Code!
Переглядів 7 тис.
So You Think You Know Git Part 2 - DevWorld 2024
23:02
GitButler
Переглядів 62 тис.
The BEST Way to Refactor in VS Code #vscode
1:01
James Q Quick
Переглядів 2,8 тис.