背景
本科时候没怎么刷过算法题,这段时间每天刷三道算法题,感受颇多。因为我的目标用人单位是央国企,所以对算法的要求没有私企那么高,自己目前只刷简单的题。
感触
首先就是对Java知识的理解更加深刻,比如在学hashmap这个知识点时,自己从来没注意到hashmap对于不存在的key会返回什么值?同时我发现hashmap在刷算法题时对图的深度拷贝与随机链表拷贝这些解题中处于不可替代的位置。
还有就是备考的时候学二叉树的层次遍历,应该是用C语言定义结构体存储二叉树的层次信息,而在java语言中,可以通过List<List>轻松记录二叉树的层次信息。同时,关于图结构的做题方式,现在的算法题出的确实比较难。
还有一些java中当时完全不以为意的技巧,比如java字符串的分割函数与子字符串函数,当时不以为意,现在发现这些函数对于解题相当重要,否则自己仅仅处理这些问题都耗费了太长的时间。