这几天在牛客网上刷了一些题,对于我们编程的时候出现的一些问题,做了总结,希望对大家有所帮助。
1.:递归有时候使用c/c++,通不过,报错是时间复杂度大,这时候可以将语言改成Java,比如斐波那契数列的问题
同样的代码,Java可以通过,c++不能通过,当然本题有更省时间的记忆化搜索的解决办法,使用C++可以通过
2.有时候通过率为80%,可以考虑是否将特殊情况考虑进去了,例如返回值需要的是ArrayList类型的,最好不要返回为空
下面这是一个层次打印二叉树的问题,会有这种情况发生,或者是否考虑了特殊情况
3.明明自己电脑上可以通过,但是牛客通过率是百分之0,那就先考虑特殊情况,在牛客的测试用例的第一个用例自己没有通过,可能出现了空指针异常等情况
4.运行超时,可能是自己定义了一个对象在不经意间对象为空了,或者一个循环一直跳不出来。例如第一种情况,root已经删除,为空,后面却还在引用,这时候在考试模式下,牛客网给出的是算法运行超时的错误
以上是我总结的错误点,希望对大家有用,如果大家有新的错误点,欢迎补充