True genius is the ability to simplify, not complicate.
Overview
There are 4 steps to the Feynman technique which you can try out to master anything.
Identify a topic.
Take any topic
of your choice and start writing down the things that we already know.- This is essentially the topic which
you are curious
about or wants to learn. π§
- This is essentially the topic which
As you start progressing towards that topic, keep adding it to the list.
Try to explain it to a child.
Now that you have gathered enough knowledge about that particular topic, you should be confident enough to communicate the same to a 12-year-old.
You should ideally be
using words that a child can understand
.When you're explaining the same topic to your fellow mates, you might skip some parts (since they might already know). But explaining the same to a child is altogether a different world. We should
eliminate all the jargon
. π₯Ά
Study to fill in gaps and Refine.
Only by identifying gaps in your knowledge can you fill them.
In the process of refining if you find something difficult to process yourselves, work on simplifying it further.
At this point, you should be confident enough to explain the topic in simple terms. π₯΅
Organize, convey, and review.
The final and crucial part of the technique is to
test your understanding of the topic
to the outside world. π€How effective
was your explanation?What questions did they ask?
What parts did they get confused about?
If the explanation is still confusing to the audience (or if you sense some frustration among them), we should start over again (which indicates we haven't understood it well). πΆβπ«οΈ
If we can explain it in simple terms, then
we have deeply understood
it therebywe will remember
it for a long time.
Understanding this technique helps to create foolproof knowledge and instils confidence in us.
In every post, you might see a leetcode problem under the bonus content section. We could find the solution on the internet everywhere.
But the reason I started putting those under each blog content is to improve my knowledge of these coding problems and understand it well (The Feynman technique helps me to remember and gives me the confidence to approach the problem when giving interviews). π«£
TL;DR
To summarize the Feynman technique, the four steps to learn anything are below.
Identify a topic.
Try to explain it to a child.
Study to fill in gaps.
Organize, convey, and review.
References
The below video clearly explains what this Feynman technique is all about in graphical.
Bonus content
Question 4:
Explanation:
Since we need to find the maximum area between 2 containers, we use the concept of
two pointers
.We iterate the array with say
i
(starting at the first of the array) andj
(starting at the end of the array).Since the container can hold water within its height, we compute the minimum heights of the left-most and right-most and multiply them by the area between i and j.
We then
increment i
ordecrement j
based on which container has been chosen for the area computation.
We then return the maximum area possible between the 2 containers.
Solution:
class Solution {
public int maxArea(int[] height) {
int len = height.length;
int maxArea = 0;
for(int i=0, j=len - 1; i < j;) {
// Comparing it with the newly computed ones.
maxArea = Math.max(Math.min(height[i], height[j]) * (j - i), maxArea);
if (height[i] < height[j]) {
// Since there could be a possibility that the maximum area can be found in the next container with greater height.
i++;
} else {
j--;
}
}
return maxArea;
}
}
Next problem:
In the next post, I will cover the below problem.