README

Why I write this book

As a beginner of studying algorithm, it is very important to make notes, not only to write down solutions, but also to record the study trajectories to obtain optimal solutions.

In 2015, it crossed my mind that maybe I should summarized all the LeetCode problems I solved, unfortunately I never got down to it. In my opinion, it is not wise, maybe even wasting time, to remember a solution or template. The most important and indispensable part to be a good programmer is to have an independent thinking. As to coding problems, bug-free is always the minimum requirement and every solution should be asked about its time/space complexity, and whether it can be further improved or not. Other questions worth to be asked includes but not limited to: what is the difference between two similar solutions, what if we want to optimize time complexity further, and what if the inputs get very big, etc. No matter how many problems are added to LeetCode, as long as you keep asking this kind of questions to train your brain, most of the new problems will look like some old problems you have solved before.

by Yuanfei Bi, March 16th, 2017, at Arlington, VA

Usage of this book

The problems are categorized by their difficulties in LeetCode platform.

After each solution, there are some my simple thoughts. Please free free to share your opinions with me and my contact is below.

All the solutions are accepted in LeetCode platform and written in Java. I am considering to cover Python solutions in the future.

About the author

Yuanfei Bi is a Ph.D candidate studying computational materials at the George Washington University since 2011. In 2010, he graduated from the University of Science and Technology of China(USTC) with a bachelor's degree.

Yuanfei Bi's contact: b y f 1 9 8 ^ at gmail dot com where ^ represents 6.

Yuanfei Bi's personal website is here.

results matching ""

    No results matching ""