大一大二的时候没有好好学习程序设计(C和C++),以及数据结构,也没有上算法分析的课程。研究生将近毕业,找实习的时候离不开手撕代码面试。
因此不得不重新学习数据结构和算法分析。这个项目建立的初衷就是将我重新学习DSA的过程中,接触到的题目以及自己写的代码放上来,一方面可以督促自己完成,另一方面公开自己的代码,也希望有人看到发现错误或者一起讨论blablabla。
《剑指Offer》是2012年电子工业出版社出版的图书,作者是何海涛。这本书精选谷歌、微软等知名IT企业的50余道典型面试题,系统地总结了如何在面试时写出高质量代码,如何优化代码效率,以及分析、解决难题的常用方法。
在刷书的过程中我将书中的算法以Python语言实现,同时也自己写了一些测试用例便于自己检查。
当然如果到leetcode上或者牛客网上刷题,也会发现,网站上面的很多题的套路大都逃不出这本书所介绍。因此这个项目底下第一个子项目就是用python实现剑指offer中的大约50道题。
- 1.注重算法和数据结构
- 2.面试过程放松。不要急于写代码,了解清楚所要解决的问题,多和面试官沟通,然后开始做一些整体的设计和规划。 不要急于提交,自己测试几个用例避免错误。
- 3.良好的代码风格。命名规则,缩进对齐习惯。能够单元测试用例。
- 4.项目介绍原则STAR:situation、task、action、result。
- 5.所需的素质:扎实的基础知识、能写高质量的代码、分析问题是思路清晰、能优化时间和空间效率、学习沟通能力
自己复习数据结构的时候,尝试用python做一下实现,将一些数据结构的API接口简单实现了一下,以及一些相关的算法都做了一定的实现。
(待完成)
leetcode刷题是必备的。自己大致整理了一些刷题过程中的代码和思路,有的参考网上的博客以及leetcode评论区的评论,有的是自己想出来的。希望能定期更新吧!