Image Smoother - Leetcode 661 - Python
Vložit
- čas přidán 24. 07. 2024
- 🚀 neetcode.io/ - A better way to prepare for Coding Interviews
🧑💼 LinkedIn: / navdeep-singh-3aaa14161
🥷 Discord: / discord
🐦 Twitter: / neetcode1
🐮 Support the channel: / neetcode
⭐ BLIND-75 PLAYLIST: • Two Sum - Leetcode 1 -...
💡 DYNAMIC PROGRAMMING PLAYLIST: • House Robber - Leetco...
Problem Link: leetcode.com/problems/image-s...
0:00 - Read the problem
0:30 - Drawing Explanation
4:35 - Coding Explanation
8:26 - Drawing Explanation Optimal
12:26 - Coding Explanation Optimal
leetcode 661
#neetcode #leetcode #python
I solved this problem easily on my own the first way, but I was curious what kind of explanation you had with a 16 min video since I didn't think this problem warranted that amount of time. Glad I clicked cause that second solution is amazing. Even when I can solve these on my own, I get value from these videos. Thanks.
To get the last 8 bits (at line 14), you can also AND the number with 255. (AND operation is more efficient than mod).
amazing. never thought that 255 constraint can be used to such solution
What a lucid explanation! Keep this up!
Great explanation as always. Thank you for the daily problems.
this was a good solution, I solved it using the first approach and liked your second approach :)
the optimal solution was pretty cool! Bit manipulation questions are so satisfying to solve!
At first I thought this problem is nothing just straight forward, but the solution from you made it think how beautiful the solution is and how fundamental we should think, Love your explanation man! keep making these awesome videos of amazing questions.
i'm amaze how you can come up with the optimal solution.
If someone still has any confusion why we are using %256, Lets forget binary, think about a decimal number 23456. What if we want to get the last digit? we use %10. What if 2 digit? We just use %100 (10*10=10^2) , incase of 3 digits %1000 (10*10*10= 10^3) and so on. We get a pattern here. It's like %base^num_of_digits.
In this problem we want to get the number that is represented by the last 8 bit. Now, just think in the decimal number way, if we want to get the last 8 digit what should we do? mod by 10^8 (following the pattern).
Incase of binary , base =2 and number of digits we want =8. So according to the pattern we have to do %2^8 which is equal to %256. So that's it what we are doing. (Hope it's not making the thing more complicated.)
It can be also done by &255 .
Amazing naive explanation, helped understanding the rest of the video!
amazing explation man! keep it up
Second solution was sooo intuitive man...
omg!!!! i love it thank you
Nice! More image algos plz
We learnt it in Digital signal processing. Couldn't understand the programming side of it. Thanks
This is so good
reminds me of that one keras function
Do we need to come up with the inplace solution in an interview?
never imagine the second solution, thanks-------
Thank you for dailies!
I just wondering if you could use sums to avoid internal iteration for each element to make the algorithm a bit faster (roughly 9 times faster)
we don't have to sum the entire row and sums internally iterates using for loop as well
For the second approach, instead of mod 256 would using logical & 000000011111111 work? To remove everything besides last 8?
Yeah I think so
Why the memory is same before and after optimization on leetcode? I know in theory it should be less but I wonder why it works differently
could have done with prefix sum too
Definitely medium problem and there is no way I would come up with the second solution.
came in by O(1)
we actually can use + instead of ^
I don't get why we need to XOR and can't just add?
i believe thats another way of adding