Top 10 Javascript Algorithms to Prepare for Coding Interviews

2024 ж. 20 Мам.
56 162 Рет қаралды

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

Пікірлер
  • 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

    @CodingMoney@CodingMoney2 ай бұрын
  • Beatiful countryside landscape.

    @augustoeduardo209@augustoeduardo2092 ай бұрын
  • I am very happy that i saw my Afghan and ex colleaque trainings at this channel.

    @sayedrezaomid1305@sayedrezaomid13052 ай бұрын
  • 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 }

    @daisy_haniii@daisy_haniiiАй бұрын
  • 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('') }

    @marioerichsen1977@marioerichsen1977Ай бұрын
  • // 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 }

    @atultrp1@atultrp12 ай бұрын
  • You're changing lives with your content. Keep inspiring!

    @MyCodingDiarie@MyCodingDiarie2 ай бұрын
  • Awesome video! Thank you for making it 😀

    @throbicon@throbicon2 ай бұрын
  • This is excellent and able to be completed as it's short and straight to the point.

    @WhitneyChakara@WhitneyChakara2 ай бұрын
  • Very informative and helpful.

    @arzoohashimi519@arzoohashimi5192 ай бұрын
  • amazing spiral Matrix. It really so hard for me to find out the way. Thank you for your code

    @khanhphamthanh5012@khanhphamthanh50122 ай бұрын
  • So engaging and interesting thank you sir for this lecture ❤

    @user-dy8si5bf8t@user-dy8si5bf8t2 ай бұрын
  • Perfect, trainees will be ready!

    @sergeynazarov2473@sergeynazarov24732 ай бұрын
  • loved the tutorial by Mukhtar!

    @shulamohammad2275@shulamohammad22752 ай бұрын
  • Very helpful.

    @murshidalam1982@murshidalam19822 ай бұрын
  • Thank you Free code Camp for providing DSA in Javascript and also need more content on JS DSA

    @LokeshKumar-tk7ri@LokeshKumar-tk7ri2 ай бұрын
  • 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.

    @savchenkoilliya9131@savchenkoilliya91312 ай бұрын
    • var 🤢

      @deha9210@deha92102 ай бұрын
  • Love this

    @lazarokabira2945@lazarokabira29452 ай бұрын
  • Thanks for your help 🎉🎉🎉🎉🎉🎉

    @Adolfofilipe7369@Adolfofilipe73692 ай бұрын
  • 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'))

    @user-cu7tw3vb2k@user-cu7tw3vb2k2 ай бұрын
  • Love this video ❤

    @user-lp1jw1fq7d@user-lp1jw1fq7d2 ай бұрын
  • it was very useful. but I will suggest the following solution for problem 9. function foo(n){ for(i=1;i

    @narekmeliksetyan9262@narekmeliksetyan92622 ай бұрын
    • You could just use Array(i) instead of Array.from({length:i}), nice solution!

      @vnm_8945@vnm_8945Ай бұрын
  • my solution for the Pyramid String Pattern exercise: function pyramid(n, level, body, space) { if(level

    @edwarddk9007@edwarddk900724 күн бұрын
  • OMG please do this but with Java or Python

    @DavidMorenoH@DavidMorenoH2 ай бұрын
    • Ther is ful apk in webstores

      @adlen01@adlen012 ай бұрын
  • Thank you

    @MS-gi3hc@MS-gi3hc2 ай бұрын
  • Need this in Python!

    @dudekool12@dudekool122 ай бұрын
  • function isPolindrom(str) { let check = str.split('').reverse().join(''); return str === check ? true : false }

    @user-ko6zp7rt6b@user-ko6zp7rt6bАй бұрын
  • 12:23 function pal(str){ console.log(str) if (str === str.split('').reverse().join('')){ return true }else { return false } } console.log(pal(""))

    @mr_aha4713@mr_aha47132 ай бұрын
  • We want more videos on these String and Array manipulation methods and programming questions

    @ajiteshmishra0005@ajiteshmishra000513 күн бұрын
  • 1:39:20 This is such an overcomplication... One 'for' loop is more than enough here: for (let i = 1; i

    @-.nisa.-@-.nisa.-2 ай бұрын
    • Big o notation for repeat function is o(n) which is similar to a for loop. So ur solution is also the same.

      @arzoohashimi519@arzoohashimi5192 ай бұрын
  • Saved

    @alikh5601@alikh56012 ай бұрын
  • We are learning well from these type of Videos But please zoom in something more so that we can see the screen properly.

    @ajiteshmishra0005@ajiteshmishra000513 күн бұрын
  • @m0slah@m0slah2 ай бұрын
  • awesome

    @ITRebels@ITRebelsАй бұрын
  • 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"));

    @ajmalshahanpm938@ajmalshahanpm9382 ай бұрын
  • 🎉🎉🎉

    @SaeedITSpot@SaeedITSpot2 ай бұрын
  • 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 }

    @user-ko6zp7rt6b@user-ko6zp7rt6bАй бұрын
  • I did each of them in a different way but still working in the same performance😶‍🌫

    @moshtabamorsali@moshtabamorsali16 күн бұрын
  • 👍🙂👍

    @rishiraj2548@rishiraj25482 ай бұрын
  • 0:22 He owns a farm

    @vijayakabajo@vijayakabajo2 ай бұрын
  • Honestly, any companies could ask questions like these?

    @g0nt411@g0nt4112 ай бұрын
  • 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??

    @ajiteshmishra0005@ajiteshmishra000512 күн бұрын
    • 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.

      @giftedfingers2580@giftedfingers258011 күн бұрын
  • //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; }

    @phyapanchakpram@phyapanchakpramАй бұрын
  • 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]; }

    @HazimTulumovic@HazimTulumovic20 күн бұрын
  • //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Ай бұрын
  • Is this MERN Stack developer needs to Study DSA ???… And I want to know Any best book for DSA( Data structure and algorithms )……????

    @subashstino899@subashstino8992 ай бұрын
    • this video course is the best for learning algorithms in Javascript :p

      @feerfeja@feerfeja2 ай бұрын
  • 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.

    @dogukankarabeyin3059@dogukankarabeyin3059Ай бұрын
  • i'm sure no one understand this

    @OthmaneAHMARLAHYA@OthmaneAHMARLAHYA2 ай бұрын
  • 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

    @nicolasmanns7249@nicolasmanns724924 күн бұрын
  • 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}`); }

    @DavidDroddy@DavidDroddyАй бұрын
  • These are way easier than "easy" leetcode problems.

    @kalechips965@kalechips9652 ай бұрын
  • 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()}`);

    @petehotchkiss4830@petehotchkiss48302 ай бұрын
  • 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]; }

    @HazimTulumovic@HazimTulumovic20 күн бұрын
KZhead