***Climbing Stairs Problem: https://leetcode.com/problems/climbing-stairs/
1) Take the "***Climbing Stairs" Problem for instance: If I was given a problem like this on a test after mastering "Fibbionacci Series" and "Factorial Implementation", I would not be able to solve it, despite the fact that "Climbing Stairs" problem boils down to "Fibbionacci Series"; I would not know that it resembles the Fibbionacci Series until I actually solve the first 6 OR MORE instances of this problem, by hand (before recognizing the (Fibbionacci) pattern).
Problem with solving things manually: I personally think that for some problems (other than those, that are similar to the "Climbing Stairs" problem), it only feels like you have found a pattern, but in reality, that is the case only for the first couple instances; and as you continue to solve the following instances, you will realize that there is no pattern or it is a completely different pattern. So, how is solving problems manually, by hand, to find patterns ideal?
2) Now, lets take the "Bubble Sort" Algorithm for instance: In order to understand that one iteration is not enough, you have to manually solve it. How do you even get the idea of sorting things this way? I would never be able to come up with an idea like "Bubble Sort" on my own.
So my question essentially is:
- How do you deal with situations where you are given a problem which you have never seen before?
- To what extent does practice help? I thought that in Computer Science/FAANG people started refraining from giving students/interviewees "Tricky" programming questions where, once you get to know the solution (logic part), you go "ohhhh, I get it now".
- In what situations is it ideal to manually solve instances (iterations) to find a pattern or to see if the logic actually works that way you think it works?
- And in what situations is it ideal to let the computer solve everything? (For instance, in the "Climbing Stairs" problem: letting the computer figure out everything instead of telling it the pattern that we found, like everyone else is doing on the leetcode platform).