![Coderbyte](/img/default-banner.jpg)
- 120
- 1 130 680
Coderbyte
United States
Приєднався 18 гру 2014
Coderbyte is a web application that has helped over 1,000,000 developers prepare for technical interviews and level up their programming skills. Through our library of hundreds of real coding challenges, over one million solutions, support in 16 languages, mock interviews, starter courses and more, we help developers ace their technical interviews.
We have been featured on Free Code Camp, Facebook for Developers, Dev.to, Codeland and more.
We have been featured on Free Code Camp, Facebook for Developers, Dev.to, Codeland and more.
Blockchain, Ethereum and Impact Investing
This week, Liz explores blockchain technology, the Ethereum ecosystem and Impact Investing.
Please subscribe to our channel :)
Additional Resources:
* Practice hundreds of real coding challenges at coderbyte.com/
Please subscribe to our channel :)
Additional Resources:
* Practice hundreds of real coding challenges at coderbyte.com/
Переглядів: 322
Відео
Binary Search Tree - Kth Smallest Tree Node
Переглядів 5566 місяців тому
This week, Liz explores how to solve a classic Binary Search Tree Interview Question. The Challenge (Hard): Given the root of a binary search tree, and an integer k, return the kth smallest value (1-indexed) of all the values of the nodes in the tree. Video Overview: 0:22 Problem overview 1:04 What is a BST? 1:43 BST traversals 5:50 The approach 7:14 Live code 13:48 Examining the callstack 17:0...
Next Greater Number
Переглядів 2666 місяців тому
This week, Liz explores how to solve a medium Stack question. The Challenge (Medium): Given two arrays of integers, nums1 and nums2 where nums1 is a subset of nums2, find the next greater integer in nums2 for each integer in nums1. Video Overview: 0:20 Problem overview 3:15 The naive approach 3:57 Live code naive approach 9:03 Optimized approach using a stack 16:31 Live code optimized approach ...
Linked List - Reverse K Nodes
Переглядів 2446 місяців тому
This week, Liz explores how to solve a hard Linked List question. The Challenge (Medium): Given the head of a linked list, reverse the nodes of the list k at a time, and return the modified list. Video Overview: 0:30 Problem overview 2:24 The approach 4:54 The reversal 12:58 Live code 31:08 Big O Please subscribe to our channel :) Additional Resources: * Practice hundreds of real coding challen...
LinkedList - Reverse K Nodes
Переглядів 1106 місяців тому
This week, Liz explores how to solve a classic LinkedList Interview Question. The Challenge (Hard): Given the head of a linked list, reverse the nodes of the list K at a time, and return the modified list. Video Overview: 0:30 Problem overview 2:21 The approach 5:00 The reversal 12:56 Live code 31:07 Big O Please subscribe to our channel :) Additional Resources: * Practice hundreds of real codi...
Meta Interview Question - Two Pointers
Переглядів 3856 місяців тому
This week, Liz explores how to solve a Meta Interview Question using the Two Pointers approach. The Challenge (Medium): You are given an array of integers representing height of length n. There are n vertical lines drawn such that the endpoint on the x axis are (i, 0) and the endpoint on the y axis are (i, array[ i ] ). Find two lines that together with the x-axis form a container, such that th...
Meta Interview Question
Переглядів 8757 місяців тому
In this video, Liz breaks down a Meta Interview Problem involving concepts such a permutations and recursion. The Challenge (Medium): Given a mistyped word, provide all the possible words the user may have meant to have typed using the nearby keys on a keyboard for each letter in the original string. Video Overview: 0:45 Problem overview 5:18 Live code first part of the problem 16:46 Introducti...
Back to Basics: Session 2 - What is the Internet?
Переглядів 695Рік тому
In this video, Liz introduces the internet. She goes in depth on how the internet actually works, how your browser works, and how a website is made up of a "front-end" and a "back-end". She also introduces the languages of the internet: HTML, CSS and Javascript. Enjoy!
Learn With Friends - Session 1 - Back to Basics
Переглядів 771Рік тому
In this video, Liz begins to teach some of her friends how to code. This is truly a "first steps" in your software engineering journey with topics such as: - using a password manager - using spotlight search - opening your terminal for the first time. Find the updated slides here - drive.google.com/file/d/1Qozjqv9DiLqq9aq0YpdCb1GkD6909FKz/view?usp=sharing! Please like and subscribe, share with ...
How to Land Your Dream Tech Job
Переглядів 766Рік тому
In this video, Liz shares a bit about her personal journey. She just quit her job and is on the market for the brand new shiny tech job of her dreams. Watch for all her best tips and tricks for how to land that next gig!
How to Traverse Binary Trees with Queues in Javascript
Переглядів 1,2 тис.Рік тому
Part 2 of a 3 part series on traversing binary trees In this video, Liz continues exploring the interview coding pattern where we perform a level order traversal (aka breadth-first traversal) of a binary tree using a queue. The Challenge (Medium): Given a binary tree, connect each node with its level-order successor. The last node of each level should point to a null node. Video Overview: 0:28 ...
Step by step guide to level order binary tree traversals in Javascript
Переглядів 1,3 тис.Рік тому
Part 1 of a 3 part series on traversing binary trees In this video, Liz starts a brand new interview pattern where we perform a level order traversal of a binary tree using a BFS approach with a queue. In each part of this series, Liz walks through an increasingly difficult real interview problem using this pattern in Javascript. The Challenge (Easy): Given a binary tree, populate an array to r...
Step by Step Guide on Rotating LinkedLists in Javascript
Переглядів 603Рік тому
Part 3 of a 3 Part Series on Reversing LinkedLists Part 1: ua-cam.com/video/VD-MhIacN_g/v-deo.html Part 2: ua-cam.com/video/dAU6c476Sjo/v-deo.html In this video, we continue exploring how to reverse a LinkedList by walking through a hard difficulty interview problem with Javascript. The Challenge (Hard): Given the head of a singly LinkedList and a number 'k', rotate the LinkedList to the right ...
How to Reverse a LinkedList In-place by Alternating K Sublists
Переглядів 727Рік тому
Part 2 of a 3 Part Series on Reversing LinkedLists Watch part 1 here: ua-cam.com/video/VD-MhIacN_g/v-deo.html In this video, we continue exploring how to reverse a LinkedList by exploring a medium difficulty interview problem. The Challenge (Medium): Given the head of a LinkedList and a number 'k', reverse every alternating 'k' sized sub-list starting from the head. If, in the end, you are left...
Step by Step Walkthrough of Reversing a Linked List in Javascript
Переглядів 779Рік тому
In this video, we start a brand new interview pattern using LinkedLists. We build the foundation for understanding this data structure by exploring an easy interview problem. The Challenge (Easy): Given the head of a singly LinkedList, write a function to return the new head of the reversed LinkedList. Video Overview: 0:32 LinkedList Overview 1:43 Problem 2:43 Approach 5:14 Coding a Javascript ...
Breaking Down the Cyclic Sort Interview Pattern with Javascript - Part 3 of 3
Переглядів 1,2 тис.2 роки тому
Breaking Down the Cyclic Sort Interview Pattern with Javascript - Part 3 of 3
Breaking Down the Cyclic Sort Interview Pattern with Javascript - Part 2 of 3
Переглядів 1,1 тис.2 роки тому
Breaking Down the Cyclic Sort Interview Pattern with Javascript - Part 2 of 3
Cracking the Cyclic Sort Interview Pattern to Sort an Array in Place with Javascript - Part 1
Переглядів 3,2 тис.2 роки тому
Cracking the Cyclic Sort Interview Pattern to Sort an Array in Place with Javascript - Part 1
Crash Course on Solving Merge Interval Coding Challenges w/ Javascript - Part 3 of 3
Переглядів 1 тис.2 роки тому
Crash Course on Solving Merge Interval Coding Challenges w/ Javascript - Part 3 of 3
Crash Course on Solving Merge Interval Coding Challenges w/ Javascript - Part 2 of 3
Переглядів 1,2 тис.2 роки тому
Crash Course on Solving Merge Interval Coding Challenges w/ Javascript - Part 2 of 3
Crash Course for Solving Merge Interval Coding Challenges w/ Javascript - Part 1 of 3
Переглядів 2,2 тис.2 роки тому
Crash Course for Solving Merge Interval Coding Challenges w/ Javascript - Part 1 of 3
Decoding the Fast & Slow Two Pointer Algorithm to Find Cycles in Javascript Part 3 of 3
Переглядів 1,3 тис.2 роки тому
Decoding the Fast & Slow Two Pointer Algorithm to Find Cycles in Javascript Part 3 of 3
Decoding the Fast & Slow Two Pointer Algorithm to Find Cycles in Javascript Part 2 of 3
Переглядів 2 тис.2 роки тому
Decoding the Fast & Slow Two Pointer Algorithm to Find Cycles in Javascript Part 2 of 3
Decoding the Tortoise and Hare Two Pointer Algorithm in Javascript Part 1 of 3
Переглядів 2,4 тис.2 роки тому
Decoding the Tortoise and Hare Two Pointer Algorithm in Javascript Part 1 of 3
Decoding the Two Pointer Approach in Javascript Part 3 of 3
Переглядів 2,3 тис.2 роки тому
Decoding the Two Pointer Approach in Javascript Part 3 of 3
Decoding the Two Pointer Approach in Javascript Part 2 of 3
Переглядів 3,3 тис.2 роки тому
Decoding the Two Pointer Approach in Javascript Part 2 of 3
Decoding the Two Pointer Technique in a Coding Interview Using Javascript
Переглядів 8 тис.2 роки тому
Decoding the Two Pointer Technique in a Coding Interview Using Javascript
Cracking Common Interview Algorithm Patterns: Sliding Window Part 3 of 3
Переглядів 3,2 тис.2 роки тому
Cracking Common Interview Algorithm Patterns: Sliding Window Part 3 of 3
Cracking Common Interview Algorithm Patterns: Sliding Window Part 2 of 3
Переглядів 3,9 тис.2 роки тому
Cracking Common Interview Algorithm Patterns: Sliding Window Part 2 of 3
Cracking Common Interview Algorithm Patterns: Sliding Window Part 1 of 3
Переглядів 11 тис.2 роки тому
Cracking Common Interview Algorithm Patterns: Sliding Window Part 1 of 3
Great video. Step by step method for solving system design questions is really helpful. Its no more wizardry
That was gold!
:) por favor que lo traduzcan a español
I think this solution may break down in the list section if the elements within the list are dicts? Need to test it though to be sure.
Thank you (!!)
Beautiful and simple explaination. I subscribed the channel for its similicity.
How will the search service filter out properties that are not available (that data is in the Booking MySql)?
Thanks for sharing! The recursive implementation is indeed simple and useful.
did we forget an arrow, for feeding information, from the S3 cluster to the Queuing service? How will a new client, that just logged in, will get the actual modified chunk locally on his machine?
are you in the data structures dungeon?
You did a great job explaining it, you got a new subscriber
On what platform do you make your presentations?
You're my saviur 🙏
👍
Data Engineering problems please. This is an ANTI PATTERN in Big Data. If you employed this to find a difference, your batch would take days or weeks. Data Engineering problems please.
Well done! thank you
it will better work if you put in left = -1 and right = array.lenght in the begin))))
Thank you for your detailed explanations and helpful tutorials. I truly appreciate your efforts. The animations in your tutorials are especially beneficial for visual learners like myself. Could you please share: 1. The application you use for writing over VSCode? 2. The software you use to create the illustrations of the linked list? 3. How you split the screen to show both VSCode and the illustrations simultaneously? Thank you once again!
why youTube take too much months to recommend this playlist
You are the best, Liz! Thank you!!!
2:00 I like what she said about imperfectionism. She seems wise, I like her.
Awesome explanations
Thank you for a really thorough explanation of the algorithm, as well as the brute force option. I found it really helpful.
for idx, num in enumerate(set(lst),1): if idx != num: return ind
thats only if the list starts with 1, in case it doesnt you can get a min value using min() and start counting from there. still very nice
Great video. Subbed and liked. All my CS classes have me coding C and C++. So far I'm able to understand your coding example. What I'm really after is help writing a recursive function to find unique combinations of K elements from a list of N elements. I have to write it in C and then translate to x86 assembler. Do you know where I can find some good information on how to write a recursive algorithm for this in C. The ChatGBT solution wraps recursion in a for loop. I would love a walk-through of what's happening on the stack.
Here is the code that will work on all data structures def run_on_dict(data): for key, value in data.items(): if isinstance(value, dict): run_on_dict(value) elif isinstance(value, list): for element in value: if isinstance(element, (dict, list)): run_on_dict(element) else: print(f"{key}: {element}") else: print(f"{key}: {value}")
Hello Elizabeth your tutorial on algorithm and data structure is the best, afte watching through your videos I can now understand data structure and have built confidence to go into code challenge
Lukas is a Civil Engineer who loves designing road networks to connect cities numbered from to . He can build any number of bidirectional roads as long as the resultant network satisfies these constraints: It must be possible to reach any city from any other city by traveling along the network of roads. No two roads can directly connect the same two cities. A road cannot directly connect a city to itself. In other words, the roads and cities must form a simple connected labeled graph. You must answer queries, where each query consists of some denoting the number of cities Lukas wants to design a bidirectional network of roads for. For each query, find and print the number of ways he can build roads connecting cities on a new line; as the number of ways can be quite large, print it modulo . Input Format The first line contains an integer, , denoting the number of queries. Each of the subsequent lines contains an integer denoting the value of for a query. Constraints Output Format For each of the queries, print the number of ways Lukas can build a network of bidirectional roads connecting cities, modulo , on a new line. Sample Input 0 3 1 3 10 Sample Output 0 1 4 201986643 Explanation 0 We answer the first two queries like this: When , the only option satisfying Lukas' three constraints is to not build any roads at all. Thus, we print the result of on a new line. When , there are four ways for Lukas to build roads that satisfy his three constraints: Thus, we print the result of on a new line. Submissions: 96 Max Score: 90 Difficulty: Expert Rate This Challenge: More How best can this question be solved
I was able to solve this problem by just taking a copy of the original array and sorting it and then using a for loop to check how many elements have shifted function (arr) { let diffLen = 0; const sortedCopy = […arr].sort((a, b) => a - b); for (let i = 0; i < arr.length; i++) { if (arr[i] !== sortedCopy[i]) { diffLen++ } return diffLen; } Would this not be allowed? Seems simpler. I m starting to recognize patterns a little more and more and was able to see that you can just compare to the sorted version and count the number of diffs thanks to watching videos like yours with the other pointer and sliding window techniques
Thanks a lot! It's really a great idea!)
great video - thanks
you are my virtual teacher.,.. keep uploading content.. ❤❤
for i in range(min(list), max(list)): if i not in list: print(i)
This has higher complexity, o(n^2) I think
This was immensely useful. Good that you took ideas from Stanford presentation.
That time complexity is wrong. It is exponential not linear
this is very sad it has only less than hundred views. very good materials, thank you
Your dog is in the back like "This again? Great."
Did you end up joining fb?
Thanks for these coding challenge series, do upload more of these...
for those who want to try the problem without dynamic arrays there are a couple other ways here is one i tossed together using masks. no sorting or juggling data, i did the code in JS but easily ported to other languages. it is fun to think of multiple solutions when on the job, and compare costs of each method. note i got lazy with my camel casing. i didn't do strenuous testing so somebody let me know if i messed up // randomly chose longest meeting 10hours with more masks you can do longer meetings const lengthMask = [0,0b1,0b11,0b111,0b1111,0b11111,0b111111,0b1111111,0b11111111,0b111111111,0b1111111111]; // use bits to mask out 1 hour blocks for meetings // if half hour blocks are desired, the max time the business could be open in a day is 16 hours for a 32bit mask // in other languages, we could use 64 or 128 bit integer masks // // input: array of pairs of start, end times of meetings already scheduled // returns: a bitmask where a '1' means a 1 hour block when a meeting is in progress // function createMeetingsMask( meetings ) { const l = meetings.length; let companyMask = 0; for( let i = 0; i < l; i += 2 ) { let startTime = meetings[i]; let endTime = meetings[i+1]; let mask = lengthMask[endTime-startTime] << startTime; companyMask |= mask; } return companyMask; } // if there are multiple open blocks of time of same length, we could return an array of pairs // right now we just return starting time and length of one of the largest free blocks function longestFree( meetingsMask ) { let longest = 0; let longeststart = 0; let curlen = 0; let curstart = 0; for( let i = 0; i < 24; i++ ) { if( meetingsMask & 1 ) { if( curlen > longest ) { longest = curlen; longeststart = curstart; } curlen = 0; } else { if( curlen == 0 ) curstart = i; curlen++; } meetingsMask >>>= 1; } return[longeststart, longest]; } // (0, 6) and (17, 23) are when biz is closed // array of all meetings' start and end times // doesn't matter how array is put together, does not need to be sorted const testMeetingData = [0,6,17,23,9,11,12,14,13,17]; let freeMask = createMeetingsMask( testMeetingData ); let longeststart = -1; let longesttime = -1; [longeststart, longesttime] = longestFree( freeMask ); console.log( longeststart + ' ' + longesttime );
Thank you! It's a good explanation :)
East Or West Liz is the Best.... Thank you for such clearly explained Graph Series.
Thank you for the great explanation! Concise and easy to follow!
Very Well Explained i like your teaching way and Content very Helpful Thank you so much
amazing video! 😇
I didn't initially recognize this problem as a two pointer problem. My first thought was sliding window. Can you expand on how you chose that tool from looking at the problem? Also, I'm surprised that you didn't get array out of bounds issues for [1,2,3] (and [4,3,2,1]). For [1,2,3], when leftPointer increments to 2, the next conditional evaluation should have read arr[3] before checking leftPointer < arr.length - 1.
So helpful!
Awesome
I'm not understanding why at @26:24, the time complexity is `O(logn)`. He mentions it's because of the height of the tree, but there's still more than `O(n)` nodes (recursive calls) in the tree. I was thinking the time complexity (without the n operations at each node), would be `O(2^n)`... For each call, we end up with 2 more calls. Any help here would be awesome!
Also, then at @36:53, he mentions the time complexity is `O(2^n)` because we're making 2 recursive calls in each call. This is the same thing we're doing at @26:24... Hmm.
great video, Liz!
why do we need a block service to chunk file when there is already a chunker in client side?