Maybe I think much differently than others, but sometimes on difficult problems I will think forever and do nothing. In the interim, people will think I'm an idiot ("don't you have work to do", "shouldn't you know this"). Then suddenly, whoosh, everything comes at once. I'll work for a comparatively short amount of time, code/work will just fly from my fingers, and whatever I'm working on will be excellent quality. One of my finest moments was in the process of one of these outbursts I was able to write a "one shot wonder" class that worked essentially exactly as expected without rewrites (no compilation errors or defects).
This is just kind of how I operate, and it really held me back in college (decent exam scores would bail out awful homework scores) though now it's nicer in a professional/adult environment where people give you a little more leeway, freedom, and respect. Though the drawback is that it ruins metrics like burndown charts and managements' expectation of a proportional work-to-output ratio.
Many of my more annoying problems have been solved that way.
I knew an old Vietnamese refugee who was an electrical engineer working on maintaining and repairing portable stage lighting ballasts. He used to tell me how he would dream about the circuits and debug them then after spending a week of just staring dumbly at the physical thing—not accomplishing anything while at work, then come in the next day and finish inside of an hour.