Top 10 Javascript Algorithms to Prepare for Coding Interviews

  Рет қаралды 55,604

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 2 ай бұрын
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
@sayedrezaomid1305
@sayedrezaomid1305 2 ай бұрын
I am very happy that i saw my Afghan and ex colleaque trainings at this channel.
@augustoeduardo209
@augustoeduardo209 2 ай бұрын
Beatiful countryside landscape.
@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 }
@MyCodingDiarie
@MyCodingDiarie 2 ай бұрын
You're changing lives with your content. Keep inspiring!
@orangeprogrammer
@orangeprogrammer 2 ай бұрын
Awesome video! Thank you for making it 😀
@WhitneyChakara
@WhitneyChakara 2 ай бұрын
This is excellent and able to be completed as it's short and straight to the point.
@arzoohashimi519
@arzoohashimi519 2 ай бұрын
Very informative and helpful.
@khanhphamthanh5012
@khanhphamthanh5012 2 ай бұрын
amazing spiral Matrix. It really so hard for me to find out the way. Thank you for your code
@Adolfofilipe7369
@Adolfofilipe7369 2 ай бұрын
Thanks for your help 🎉🎉🎉🎉🎉🎉
@user-dy8si5bf8t
@user-dy8si5bf8t 2 ай бұрын
So engaging and interesting thank you sir for this lecture ❤
@shulamohammad2275
@shulamohammad2275 2 ай бұрын
loved the tutorial by Mukhtar!
@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('') }
@sergeynazarov2473
@sergeynazarov2473 Ай бұрын
Perfect, trainees will be ready!
@murshidalam1982
@murshidalam1982 2 ай бұрын
Very helpful.
@LokeshKumar-tk7ri
@LokeshKumar-tk7ri 2 ай бұрын
Thank you Free code Camp for providing DSA in Javascript and also need more content on JS DSA
@atultrp1
@atultrp1 2 ай бұрын
// 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 }
@DavidMorenoH
@DavidMorenoH 2 ай бұрын
OMG please do this but with Java or Python
@adlen01
@adlen01 2 ай бұрын
Ther is ful apk in webstores
@ajiteshmishra0005
@ajiteshmishra0005 8 күн бұрын
We want more videos on these String and Array manipulation methods and programming questions
@user-lp1jw1fq7d
@user-lp1jw1fq7d 2 ай бұрын
Love this video ❤
@lazarokabira2945
@lazarokabira2945 2 ай бұрын
Love this
@MS-gi3hc
@MS-gi3hc 2 ай бұрын
Thank you
@dudekool12
@dudekool12 2 ай бұрын
Need this in Python!
@savchenkoilliya9131
@savchenkoilliya9131 2 ай бұрын
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 🤢
@user-cu7tw3vb2k
@user-cu7tw3vb2k 2 ай бұрын
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'))
@narekmeliksetyan9262
@narekmeliksetyan9262 2 ай бұрын
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!
@edwarddk9007
@edwarddk9007 19 күн бұрын
my solution for the Pyramid String Pattern exercise: function pyramid(n, level, body, space) { if(level
@mr_aha4713
@mr_aha4713 2 ай бұрын
12:23 function pal(str){ console.log(str) if (str === str.split('').reverse().join('')){ return true }else { return false } } console.log(pal(""))
@ajiteshmishra0005
@ajiteshmishra0005 8 күн бұрын
We are learning well from these type of Videos But please zoom in something more so that we can see the screen properly.
@ITRebels
@ITRebels Ай бұрын
awesome
@m0slah
@m0slah 2 ай бұрын
@user-ko6zp7rt6b
@user-ko6zp7rt6b Ай бұрын
function isPolindrom(str) { let check = str.split('').reverse().join(''); return str === check ? true : false }
@-.nisa.-
@-.nisa.- 2 ай бұрын
1:39:20 This is such an overcomplication... One 'for' loop is more than enough here: for (let i = 1; i
@arzoohashimi519
@arzoohashimi519 2 ай бұрын
Big o notation for repeat function is o(n) which is similar to a for loop. So ur solution is also the same.
@alikh5601
@alikh5601 2 ай бұрын
Saved
@SaeedITSpot
@SaeedITSpot 2 ай бұрын
🎉🎉🎉
@vijayakabajo
@vijayakabajo 2 ай бұрын
0:22 He owns a farm
@moshtabamorsali
@moshtabamorsali 11 күн бұрын
I did each of them in a different way but still working in the same performance😶‍🌫
@g0nt411
@g0nt411 2 ай бұрын
Honestly, any companies could ask questions like these?
@rishiraj2548
@rishiraj2548 2 ай бұрын
👍🙂👍
@ajmalshahanpm938
@ajmalshahanpm938 2 ай бұрын
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"));
@user-ko6zp7rt6b
@user-ko6zp7rt6b Ай бұрын
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 2 ай бұрын
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 2 ай бұрын
this video course is the best for learning algorithms in Javascript :p
@ajiteshmishra0005
@ajiteshmishra0005 7 күн бұрын
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 6 күн бұрын
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 Ай бұрын
//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 Ай бұрын
//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 16 күн бұрын
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 2 ай бұрын
i'm sure no one understand this
@nicolasmanns7249
@nicolasmanns7249 20 күн бұрын
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
@kalechips965
@kalechips965 2 ай бұрын
These are way easier than "easy" leetcode problems.
@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}`); }
@petehotchkiss4830
@petehotchkiss4830 2 ай бұрын
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 16 күн бұрын
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]; }
MATLAB Crash Course for Beginners
1:57:45
freeCodeCamp.org
Рет қаралды 596 М.
Top 6 Coding Interview Concepts (Data Structures & Algorithms)
10:51
didn't want to let me in #tiktok
00:20
Анастасия Тарасова
Рет қаралды 10 МЛН
SHE WANTED CHIPS, BUT SHE GOT CARROTS 🤣🥕
00:19
OKUNJATA
Рет қаралды 6 МЛН
Front End Developer Roadmap 2024
12:09
freeCodeCamp.org
Рет қаралды 669 М.
Back End Developer Roadmap 2024
10:30
freeCodeCamp.org
Рет қаралды 344 М.
I learned to code from scratch in 1 year. Here's how.
41:55
Thomas Frank
Рет қаралды 308 М.
Quantum Computing Course
1:36:04
freeCodeCamp.org
Рет қаралды 29 М.
Top 7 Data Structures for Interviews Explained SIMPLY
13:02
Codebagel
Рет қаралды 94 М.
Graph Search Algorithms in 100 Seconds - And Beyond with JS
10:30
How to be a git expert
46:26
Floating Little Leaves of Code
Рет қаралды 141 М.
You might not need useEffect() ...
21:45
Academind
Рет қаралды 135 М.
Learn Git - Full Course for Beginners
3:43:34
freeCodeCamp.org
Рет қаралды 108 М.
Premature Optimization
12:39
CodeAesthetic
Рет қаралды 746 М.