head-first-cracking-the-coding-interview-on-hackerrank
head-first-cracking-the-coding-interview-on-hackerrank copied to clipboard
lesson & hints & test & answer for cracking the coding interview on hackkerank in javascript
Lesson & Hints
Gradual learning curve
- Data structure orientated
- Algorithm highlighted first
- Readability first(Do one thing at one time)
Test & Answer
- 100% accepted by hackerrank
- Self validated
- Test Driven
Goal
Better 思维过程 ,
properties of emphasis 思维过程
Implicit
That's why we use algorithm to train our 思维过程 explicitly.
Cross knowledge application of 思维过程
Find the cross knowledge application of 思维过程
Increase of memory hints of the knowledge
Increase the indexing of knowledge(去理解一个定理(knowledge)的证明(思维过程)会带来巨大的好处,首当其冲的好处就是你很难再忘掉它。)
Problem solving method
Inspirational
- remember what is unknown
- abstract massive information from answer
- special case
- reverse thinking
Deduction
A + B = C C = D
Conclusion A + B = D
Structure
算法只是结局而已,而思考过程才是情节
Good Structure: Idea(core inspirational framework) => algorithm logic(method) => code(detail)
Bad structure: code(detail) => algorithm logic(method)
Reference Book
《算法导论》、《如何解题:现代启发式方法》、《 Algorithms 》、《编程珠玑》,甚至 TAOCP——公平地说由于高老大对算法领域历史了解得非常通透,所以许多地方能够从原始脉络来讲述一个问题,譬如令人印象深刻的从竞赛树到堆的讲解就寥寥一页纸道出了堆这个数据结构的本质来,而像刚才列的几本有名的书却都没有做到)
Thinking process: 《如何解题》 《数学的发现》
Knowledge: Algorithm corner:
- Original => Core idea
- summary
规划,规划不等于担心,规划是一种对于未来的可能性的理性分析,预防糟糕的,逼近良好的。规划的重点在于客观看待事物,不否认失败的可能性,也不因此而丧失努力的动力。所谓“谋事在人,成事在天”。