对于算法题,遇到了不用紧张,一般分成大类,自己脑子里推敲一下,会不会是这种,或者会不会是那种:
朴素算法类:
通常是贪心、简单动态规划、二分(或二进制技巧)等几类问题,或者有一些图论的问题,如最短路和最小生成树等。更加复杂的其实很少见,因为其他的问题需要专门捡起来复习,不复习就忘的,考察那些也没有太大的意义。而上面提到的几种都是你如果学会了这些思想,几年内基本就在脑子里了。
贪心类的题目,并不是随便猜一猜,这样最优那样不是最优,通常是能够有严谨的数学证明,不过一般不会太复杂。求最多最少等最值问题,需要提醒自己往贪心或者动态规划上面考虑,大方向对了,很容易就能相处思路。
语言技巧类:
这类题目如果碰到了,一般从语言的特性角度考虑,比如与操作、或操作、异或操作等等。这些题目很能反映出程序员的智商水平,当然如果以前遇到过,都会比较简单,没碰到过,一般就显得比较难。