Merge Intervals (LeetCode 56) | Full Solution with diagrams and visuals | Interview Essential
HTML-код
- Опубликовано: 31 июл 2024
- Actual Problem: leetcode.com/problems/merge-i...
Chapters:
00:00 - Intro
00:45 - Problem Statement and Description
03:15 - Brute Force Solution
04:26 - Visualizing the problem
09:54 - Dry-run of Code
12:22 - Final Thoughts
📚 Links to topics I talk about in the video:
Brute Force: • Brute Force algorithms...
What is Big O?: • Big O Notation Simplif...
Greedy Algorithms: • Greedy Algorithms with...
LeetCode Solutions: • Leetcode Solutions
📘 A text based explanation is available at: studyalgorithms.com
Code on Github: github.com/nikoo28/java-solut...
Test-cases on Github: github.com/nikoo28/java-solut...
📖 Reference Books:
Starting Learn to Code: amzn.to/36pU0JO
Favorite book to understand algorithms: amzn.to/39w3YLS
Favorite book for data structures: amzn.to/3oAVBTk
Get started for interview preparation: amzn.to/39ysbkJ
🔗 To see more videos like this, you can show your support on: www.buymeacoffee.com/studyalg...
🎥 My Recording Gear:
Recording Light: amzn.to/3pAqh8O
Microphone: amzn.to/2MCX7qU
Recording Camera: amzn.to/3alg9Ky
Tablet to sketch and draw: amzn.to/3pM6Bi4
Surface Pen: amzn.to/3pv6tTs
Laptop to edit videos: amzn.to/2LYpMqn
💻 Get Social 💻
Follow on Facebook at: / studyalgos
Follow on Twitter at: / studyalgorithms
Follow on Tumblr at: / studyalgos
Subscribe to RSS feeds: studyalgorithms.com/feed/
Join fan mail: eepurl.com/g9Dadv
#leetcode #programming #interview
Great solution! I was confused as to why we were sorting intervals based on the starting value: "We want to find values closer to the start & not farther from it since it'll give us a higher chance of finding overlap..."
now i can see improvement in myself, I solved this problem with exactly same approach ,though it took me two hours😅 and came here to see more optimized solustion
thank you nikhil you are doing great for creating such beautiful content for us , thats what make you unique fro other teachers your explaination keep doing keep posting , u inspire us
Thank you so much brother...I just start watching your video 3 min into the video and I code the solution without completely watching the video.
Your explanation is on point
thank you again
Cheers man!!
Topnotch best explanation for this problem
Your tutorial is just awesome
Great explanation 🎉
wonderful explanation!! 🌟I would love to see you sharing some java essentials for coding in leetcode I was not knowing methods like asList and use of comparator . So thats the problem I phased int this video .Hope you will come up with video for this!!
Eagerly waiting 👀
Lots of love❤
Thank you very much for the great explanation and the solution to the problem. I got confused with the naming of interval and newInterval variables in the code, which could be used other way.
awesome ❤
Thanks bhaiya
Thanks
nice yr
using stack
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
# by using sort function, we use lamba to select key, in which x is our key
# intervals.sort(key = lambda x:x[0]) # without it fail when intervals = [[1,4],[0,4]]
stack = []
for i in range(0,len(intervals)):
# if stack not empty
if stack and stack[0][1] >= intervals [i][0]:
# overlapping condition comes..now update end point
stack[0][1] = max(stack[0][1], intervals[i][1])
else:
stack.insert(0,intervals[i])
# print(i)
return stack
Please Explain 4Sum Problem so that it can be helpful to all of us.
Yep..will make a video on it too.
Salute you sir🫡🫡🫡
I am putting you over striver
Which platform you use to explain the question in Problem Statements and Description?
GoodNotes 6
public int[][] merge(int[][] intervals) {
int n = intervals.length;
int[][] ans = new int[n][2];
Arrays.sort(intervals, new Comparator() {
public int compare(int[] a, int[] b) {
return a[0] - b[0];
}
});
int ansIx = 0;
ans[ansIx][0] = intervals[0][0];
ans[ansIx][1] = intervals[0][1];
for(int i = 1;i
i think in if(condition) you used newinterval[1] instead of result[1] ... Becoz i see here you dont update the value in result list .. in else codition you updated new interval value ...am i right?..
check it out...we do update the result list in the else block :)
@@nikoo28 can you explain how do you update the result list in the else block? because i've only seen `result.add(newInterval)` and to my knowledge add is like pushing an element to a list. so am i missing something? or is there something that is wrong to my knowledge?
because at the first you've already pushed the [1,3] into the result,
and when did the result become [1,6] ? because i don't see any .set() function being called.
@@daffapradana8557 it's getting updated in the if block where the newInterval[1] gets updated to the max.
else block is for the disjoint array